| 1 |
#ifndef CSTRUCTPLUGIN_H_INCLUDED |
| 2 |
#define CSTRUCTPLUGIN_H_INCLUDED |
| 3 |
|
| 4 |
#include "CTrainPlugin.h" |
| 5 |
|
| 6 |
/* |
| 7 |
* 施設プラグイン |
| 8 |
*/ |
| 9 |
class CStructPlugin: public CModelPlugin{ |
| 10 |
friend class CStruct; |
| 11 |
protected: |
| 12 |
list<CFreeObjectContainer> m_FreeObject; // フリーオブジェクト |
| 13 |
public: |
| 14 |
static void RenderPreview(VEC3, VEC3, VEC3); |
| 15 |
CStructPlugin(char *id): CModelPlugin(id){} |
| 16 |
virtual ~CStructPlugin(); |
| 17 |
char *DirName(){ return "Struct"; } |
| 18 |
char *TextName(){ return "Struct.txt"; } |
| 19 |
char *TextName2(){ return "Struct2.txt"; } |
| 20 |
bool Load(); |
| 21 |
virtual char *LoadStructBefore(char *); |
| 22 |
virtual char *LoadStructAfter(char *str){ return str; } |
| 23 |
virtual bool LoadOldForm(); |
| 24 |
virtual void SetPreview(); |
| 25 |
void Preview(); |
| 26 |
virtual void PreviewStruct(){} |
| 27 |
CNamedObject *FindObject(const string &); |
| 28 |
virtual bool IsSoundEnabled(); |
| 29 |
void SetPosture(); |
| 30 |
void ScanInput(CStruct *); |
| 31 |
void Render(CStruct *); |
| 32 |
void Simulate(CStruct *); |
| 33 |
CPLUGIN_CASTFUNC(CStructPlugin); |
| 34 |
}; |
| 35 |
|
| 36 |
/* |
| 37 |
* 施設プラグインリスト |
| 38 |
*/ |
| 39 |
class CStructPluginList: public CModelPluginList{ |
| 40 |
protected: |
| 41 |
public: |
| 42 |
virtual char *DirName(){ return "Struct"; } |
| 43 |
virtual char *TextName(){ return "Struct.txt"; } |
| 44 |
virtual char *TextName2(){ return "Struct2.txt"; } |
| 45 |
char *Default(){ return "Ship"; } |
| 46 |
CPlugin *NewEntry(char *id){ return new CStructPlugin(id); } |
| 47 |
CPLUGINLIST_CASTFUNC(CStructPlugin); |
| 48 |
}; |
| 49 |
|
| 50 |
// 外部グローバル |
| 51 |
extern CStructPlugin *g_Struct; |
| 52 |
extern CStructPluginList *g_StructPluginList; |
| 53 |
|
| 54 |
#endif |