DragonNest/Client/EtCutSceneTool/IRenderBase.h
2024-12-19 09:48:26 +08:00

84 lines
2.6 KiB
C++

#pragma once
// 렌더링 코드와 wxWidget 을 분리 시키기 위한 인터페이스 선언.
// 실제 상속받을 놈은 wxWidget에 대한 존재를 전혀 모름..
class IRenderBase
{
public:
// Renderer mode
enum
{
EDITOR_MODE,
STOP_MODE,
PLAY_MODE,
FREE_TIME_MODE,
MODE_COUNT,
};
// Selected Object Type enumeration
enum
{
SO_ACTOR,
SO_PARTICLE,
SO_MAX_CAMERA,
SO_COUNT,
};
public:
IRenderBase( void );
virtual ~IRenderBase(void);
static IRenderBase* Create( HWND hWnd );
virtual void UpdateRenderObject( void ) = 0;
virtual void OnResize( int iWidth, int iHeight ) = 0;
virtual void SetActivate( bool bActive ) = 0;
virtual void OnRender( LOCAL_TIME LocalTime, float fDelta ) = 0;
virtual void OnLButtonDown( int iXPos, int iYPos ) = 0;
virtual void OnCButtonDown( int iXPos, int iYPos ) = 0;
virtual void OnRButtonDown( int iXPos, int iYPos ) = 0;
virtual void OnLButtonDrag( int iXPos, int iYPos ) = 0;
virtual void OnCButtonDrag( int iXPos, int iYPos ) = 0;
virtual void OnRButtonDrag( int iXPos, int iYPos ) = 0;
virtual void OnLButtonUp( int iXPos, int iYPos ) = 0;
virtual void OnRButtonUp( int iXPos, int iYPos ) = 0;
virtual void OnMouseWheel( int iWheelDelta ) = 0;
virtual void OnKeyDown(class wxKeyEvent& event) = 0;
virtual void OnKeyUp(class wxKeyEvent& event) = 0;
virtual void SeeThisActor( const wchar_t* pActorName ) = 0;
virtual void SelectActor( const wchar_t* pActorName ) = 0;
virtual void ToggleCamMode( bool bToggleCamMode ) = 0;
virtual void ToggleShowSpotPos( bool bShowSpotPos ) = 0;
virtual void SetRenderFog( bool bRenderFog ) = 0;
virtual void ToggleLetterBox( bool bToggleLetterBox ) = 0;
virtual void ToggleWeapon( bool bToggleWeapon ) = 0;
virtual void SetMode( int iMode ) = 0;
virtual bool IsObjectSelected( void ) = 0;
virtual void UnSelectObject( void ) = 0;
virtual void UpdateSelectedObject( void ) = 0;
virtual const wchar_t* GetSelectedObjectName( void ) = 0;
virtual int GetSelectedObjectType( void ) = 0;
virtual int GetSelectedObjectID( void ) = 0;
virtual void SetActorAlpha( const wchar_t* pActorName, float fAlpha ) = 0;
virtual bool MoveObjectByDragging( const wchar_t* pActorName, int iMouseXPos, int iMouseYPos ) = 0;
virtual void GetSelectedObjectPos( EtVector3* vPos/*const wchar_t* pActorName*/ ) = 0;
virtual void RotateObjectByWheelDelta( int iWheelDelta ) = 0;
virtual float GetRenderActorRotDegree( const wchar_t* pActorName ) = 0;
virtual void ChangeActor( const wchar_t* pOldActorName, const wchar_t* pNewActorResName ) = 0;
virtual void OnPostLoadFile( void ) = 0;
virtual bool bIsLockSelect()=0;
};