📄 guiradarctrl.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 + -