tge/engine/game/guiPlayerView.h
2017-04-17 06:17:10 -06:00

94 lines
2.1 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _GUIPLAYERVIEW_H_
#define _GUIPLAYERVIEW_H_
#ifndef _GUITSCONTROL_H_
#include "gui/core/guiTSControl.h"
#endif
#ifndef _TSSHAPEINSTANCE_H_
#include "ts/tsShapeInstance.h"
#endif
#ifndef _GAMEBASE_H_
#include "game/gameBase.h"
#endif
#ifndef _CAMERA_H_
#include "game/camera.h"
#endif
class TSThread;
class GuiPlayerView : public GuiTSCtrl
{
private:
typedef GuiTSCtrl Parent;
enum
{
run = 0,
hi,
anim1,
anim2,
anim3,
anim4,
anim5
};
protected:
enum MouseState
{
None,
Rotating,
Zooming
};
MouseState mMouseState;
TSShapeInstance* mModel;
TSShapeInstance* mWeapon;
U32 mSkinTag;
Point3F mCameraPos;
MatrixF mCameraMatrix;
EulerF mCameraRot;
Point3F mOrbitPos;
F32 mMinOrbitDist;
F32 mOrbitDist;
S32 wNode;
S32 pNode;
TSThread *runThread;
S32 lastRenderTime;
S32 mAnimationSeq;
Point2I mLastMousePoint;
public:
DECLARE_CONOBJECT( GuiPlayerView );
GuiPlayerView();
~GuiPlayerView();
bool onWake();
void onMouseEnter(const GuiEvent &event);
void onMouseLeave(const GuiEvent &event);
void onMouseDown( const GuiEvent &event );
void onMouseUp( const GuiEvent &event );
void onMouseDragged( const GuiEvent &event );
void onRightMouseDown( const GuiEvent &event );
void onRightMouseUp( const GuiEvent &event );
void onRightMouseDragged( const GuiEvent &event );
void setPlayerModel( const char* shape, const char* skin );
void setPlayerSeq( S32 index );
void getWeaponTransform( MatrixF *mat );
bool processCameraQuery( CameraQuery *query );
void renderWorld( const RectI &updateRect );
};
#endif // _GUI_PLAYERVIEW_H