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

115 lines
2 KiB
C++

#pragma once
#include "IPropertyDelegate.h"
#include "IDnCutSceneDataReader.h"
class CKeyProperty : public IPropertyDelegate
{
private:
enum
{
ACTOR_NAME,
KEY_NAME,
ID,
KEY_TYPE,
ROTATION,
ROTATION_FRONT,
FIT_YPOS_TO_MAP,
NUM_MOVEKEY,
MOVEKEY_LIST,
MOVEKEY_1,
MOVEKEY_2,
MOVEKEY_3,
MOVEKEY_4,
MOVEKEY_5,
MOVEKEY_6,
MOVEKEY_7,
MOVEKEY_8,
MOVEKEY_9,
MOVEKEY_10,
MOVEKEY_11,
MOVEKEY_12,
MOVEKEY_13,
MOVEKEY_14,
MOVEKEY_15,
MOVEKEY_16,
MOVEKEY_17,
MOVEKEY_18,
MOVEKEY_19,
MOVEKEY_20,
MOVEKEY_21,
MOVEKEY_22,
MOVEKEY_23,
MOVEKEY_24,
MOVEKEY_25,
MOVEKEY_26,
MOVEKEY_27,
MOVEKEY_28,
MOVEKEY_29,
MOVEKEY_30,
MOVEKEY_LENGTH_1,
MOVEKEY_LENGTH_2,
MOVEKEY_LENGTH_3,
MOVEKEY_LENGTH_4,
MOVEKEY_LENGTH_5,
MOVEKEY_LENGTH_6,
MOVEKEY_LENGTH_7,
MOVEKEY_LENGTH_8,
MOVEKEY_LENGTH_9,
MOVEKEY_LENGTH_10,
MOVEKEY_LENGTH_11,
MOVEKEY_LENGTH_12,
MOVEKEY_LENGTH_13,
MOVEKEY_LENGTH_14,
MOVEKEY_LENGTH_15,
MOVEKEY_LENGTH_16,
MOVEKEY_LENGTH_17,
MOVEKEY_LENGTH_18,
MOVEKEY_LENGTH_19,
MOVEKEY_LENGTH_20,
MOVEKEY_LENGTH_21,
MOVEKEY_LENGTH_22,
MOVEKEY_LENGTH_23,
MOVEKEY_LENGTH_24,
MOVEKEY_LENGTH_25,
MOVEKEY_LENGTH_26,
MOVEKEY_LENGTH_27,
MOVEKEY_LENGTH_28,
MOVEKEY_LENGTH_29,
MOVEKEY_LENGTH_30,
START_POS,
DEST_POS,
//START_POS_X,
//START_POS_Y,
//START_POS_Z,
//DEST_POS_X,
//DEST_POS_Y,
//DEST_POS_Z,
//ROTATION,
//SCALE,
START_TIME,
TIME_LENGTH,
COUNT,
};
wxPGId m_aPGID[ COUNT ];
KeyInfo* m_pReflectedKeyInfo;
//bool m_bChangeToMultiMove;
private:
void _RebuildProperty( void );
void _GetPropertyValues( KeyInfo* pKeyInfo );
void _UpdateProp( int iObjectID );
void _UpdateMoveType( int iKeyType );
void _GetVectorProperty( int iPropID, /*IN OUT*/ EtVector3& vVector );
public:
CKeyProperty( wxWindow* pParent, int id );
virtual ~CKeyProperty(void);
void Initialize( void );
void OnShow( void );
void OnPropertyChanged( wxPropertyGridEvent& PGEvent );
void ClearTempData( void );
void CommandPerformed( ICommand* pCommand );
};