⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guiradarctrl.h

📁 五行MMORPG引擎系统V1.0
💻 H
字号:
//-----------------------------------------------------------------------------
// guiRadarCtrl.cc  // Now with less lag!
// Made by Matt "CaptFallout" Webster
//  
// Modified to integrate a scrolling map and compass to the radar
// by Thor Zollinger, alias "Gisarme"
//-----------------------------------------------------------------------------
//
// If you use this code, you must give credit to me (Matt "CaptFallout" Webster)
// visible in-game credits (or wherever you put em) Afterall... I made it for
// you!
//
//-----------------------------------------------------------------------------
//
// Torque Engine
//
// Portions Copyright (c) 2001 by Sierra Online, Inc.
//
//-----------------------------------------------------------------------------

#ifndef _GuiRadarCtrl_H_
#define _GuiRadarCtrl_H_

#ifndef _GUIBITMAPCTRL_H_
#include "gui/controls/guiBitmapCtrl.h"
#endif

#ifndef _SCENEOBJECT_H_
#include "sim/sceneObject.h"
#endif

#ifndef _PLATFORMGL_H_

#include "platform/platformAssert.h"
#if defined(TORQUE_OS_MAC)
#include "platformMacCarb/platformGL.h"
#elif defined(TORQUE_OS_WIN32)
#include "platformWin32/platformGL.h"
#elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_FREEBSD)
#include "platformX86UNIX/platformGL.h"
#endif

#endif

class GameBase;

class GuiRadarCtrl : public GuiBitmapCtrl
{
private:
	typedef GuiBitmapCtrl Parent;

	TextureHandle	mCompass;
	TextureHandle	mMap;
	float				mRadius;
	F32				mZoomAngle;
	//Point3F			mMyCoords;
	bool				mRState;
	bool				mMState;

	F32				m_fRoleRadius;
	F32				m_fUnitRadius;
   ColorF			m_clrRole;
   ColorF			m_clrNPC;
   ColorF			m_clrPlayer;
   ColorF			m_clrShop;
   ColorF			m_clrOther;
   ColorF			m_clrTeam;
   ColorF			m_clrMonster;
	ColorF			m_clrBalk;
	ColorF			m_clrNull;
   ColorI			m_clrTaskNpc;
   ColorI			m_clrTaskLock;

	Point2F			m_posRadarCenter;
	//Vector<GameBase*>		m_arTaskLocks;
	//Vector<GameBase*>		m_arTaskNpcs;

public:
	//creation methods
	DECLARE_CONOBJECT(GuiRadarCtrl);
	GuiRadarCtrl();
	static void initPersistFields();
	static void consoleInit();

	//Parental methods
	bool onWake();
	void onSleep();
	void resize(const Point2I &newPosition, const Point2I &newExtent);
	void calcCenterPos();

	TextureHandle initSceneBalkTexture();

	void setBitmap(const char *name);
	void setBitmap(const TextureHandle &handle);
	void onRender(Point2I offset, const RectI &updateRect);
	void SetRange(F32 Range);
	void RadarOnOff(bool RState);
	void MapOnOff(bool MState);
};

/////////////////////////////////////////////////////////////

inline void GuiRadarCtrl::setBitmap(const TextureHandle &handle)
{
	mMap = handle;
}

inline void GuiRadarCtrl::SetRange(F32 Range)
{
	mRadius = Range;
}

inline void GuiRadarCtrl::RadarOnOff(bool RState)
{
	mRState = RState;
}

inline void GuiRadarCtrl::MapOnOff(bool MState)
{
	mMState = MState;
}


#endif //_GuiRadarCtrl_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -