reman3/Rayman_X/cpa/tempgrp/TPG/Inc/TPG_OSys.hpp

79 lines
2.1 KiB
C++

#ifndef _TPG_OSYS_HPP_
#define _TPG_OSYS_HPP_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "ACP_Base.h"
#include "ITF.h"
#include "PRT.h"
#include "CTL.h"
class CPA_PartGen_MyDocument;
////////////////////////////////////////////////
// System Class
#define TPG_C_tdxDefaultParticlesNumber 100
class CPA_PartGen_System : public CPA_SaveObject
{
public:
CPA_PartGen_System(CString, long _lNbParticles );
CPA_PartGen_System(CString, PRT_tdstParticlesSystem *_p_stSystem = NULL, BOOL _bIsLoaded = TRUE );
~CPA_PartGen_System();
//virtual functions
virtual long GetDataType(void);
virtual void *GetData(void);
virtual CString fn_csComputeReferencedSectionName(const CString _csNewName);
static void m_s_fn_vCallBackSaveSystem
(
SCR_tdst_File_Description *_p_stFile,
char *_p_szSectionName,
void *_p_vData,
SCR_tde_Ntfy_Action _eAction
);
BOOL m_pub_fn_vLoadIfUnloaded();
PRT_tdstParticlesSystem * m_pub_fn_p_stGetSystem() {return m_pri_p_stSystem;}
void m_pub_fn_vSetSystem( PRT_tdstParticlesSystem* );
GMT_tdxHandleToGameMaterial m_pub_fn_hGetPriGameMaterial() {return m_pri_hGameMaterial;}
ACP_tdxHandleOfSprite m_pub_fn_hGetPriSprite() {return m_pri_hSprite;}
long m_pub_fn_lGetParticlesType();
void m_pub_fn_vSetObjectPoint( GMT_tdxHandleToGameMaterial );
GMT_tdxHandleToGameMaterial m_pub_fn_hGetPointGameMaterial();
void m_pub_fn_vSetObjectSegment( GMT_tdxHandleToGameMaterial );
GMT_tdxHandleToGameMaterial m_pub_fn_hGetSegmentGameMaterial();
void m_pub_fn_vSetObjectSprite( ACP_tdxHandleOfSprite );
ACP_tdxHandleOfSprite m_pub_fn_hGetSprite();
CString m_pub_fn_csGetObjectName();
long m_pub_fn_lGetNbParticles();
CPA_PartGen_MyDocument * m_pub_fn_p_clGetDocument();
public:
CTL_Editor_DataList m_pub_clDataList;
private:
PRT_tdstParticlesSystem *m_pri_p_stSystem;
GMT_tdxHandleToGameMaterial m_pri_hGameMaterial;
ACP_tdxHandleOfSprite m_pri_hSprite;
private:
void m_pri_fn_vFillDataList();
void m_pri_fn_vSaveSystem( SCR_tdst_File_Description* );
void m_pri_fn_vSetInternalParticle();
};
#endif //_TPG_OSYS_HPP_