94 lines
2.1 KiB
C++
Executable File
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
|