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

57 lines
No EOL
1.3 KiB
C++

#pragma once
#include "Singleton.h"
class CPropPoolStage {
public:
CPropPoolStage();
~CPropPoolStage();
struct PropPoolStruct {
CString szPropName;
EtVector2 vOffset;
};
protected:
CString m_szStageName;
std::vector<PropPoolStruct> m_VecList;
public:
bool LoadStage( CString szFullName );
bool SaveStage( CString szFullName = CString("") );
CString GetStageName() { return m_szStageName; }
void SetStageName( CString szName ) { m_szStageName = szName; }
void AddProp( CString szName, EtVector2 vOffset );
void RemoveProp( DWORD dwIndex );
void Empty();
bool IsEmpty() { return ( m_VecList.size() == 0 ) ? true : false; }
DWORD GetPropCount();
CString GetPropName( DWORD dwIndex );
EtVector2 GetPropOffset( DWORD dwIndex );
void SetPropOffset( DWORD dwIndex, EtVector2 vOffset );
};
class CPropPoolControl : public CSingleton<CPropPoolControl > {
public:
CPropPoolControl();
~CPropPoolControl();
protected:
std::vector<CPropPoolStage *> m_pVecList;
CPropPoolStage *m_pNoneStage;
int m_nCurrentStageIndex;
public:
void LoadStage();
void SaveStage();
DWORD GetStageCount();
CString GetStageName( DWORD dwIndex );
void SetCurrentStage( CString szStageName );
CPropPoolStage *GetCurrentStage();
};
extern CPropPoolControl g_PropPoolControl;;