Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00044 #ifndef _orxSPAWNER_H_
00045 #define _orxSPAWNER_H_
00046
00047
00048 #include "orxInclude.h"
00049
00050 #include "object/orxStructure.h"
00051 #include "object/orxFrame.h"
00052
00053
00056 #define orxSPAWNER_KU32_FLAG_NONE 0x00000000
00058 #define orxSPAWNER_KU32_FLAG_AUTO_DELETE 0x00000001
00059 #define orxSPAWNER_KU32_FLAG_AUTO_RESET 0x00000002
00060 #define orxSPAWNER_KU32_FLAG_USE_ALPHA 0x00000004
00061 #define orxSPAWNER_KU32_FLAG_USE_COLOR 0x00000008
00062 #define orxSPAWNER_KU32_FLAG_USE_ROTATION 0x00000010
00063 #define orxSPAWNER_KU32_FLAG_USE_SCALE 0x00000020
00064 #define orxSPAWNER_KU32_FLAG_USE_RELATIVE_SPEED 0x00000040
00065 #define orxSPAWNER_KU32_FLAG_USE_SELF_AS_PARENT 0x00000080
00066 #define orxSPAWNER_KU32_FLAG_CLEAN_ON_DELETE 0x00000100
00068 #define orxSPAWNER_KU32_MASK_USER_ALL 0x000000FF
00073 typedef enum __orxSPAWNER_EVENT_t
00074 {
00075 orxSPAWNER_EVENT_SPAWN = 0,
00076 orxSPAWNER_EVENT_CREATE,
00077 orxSPAWNER_EVENT_DELETE,
00078 orxSPAWNER_EVENT_RESET,
00079 orxSPAWNER_EVENT_EMPTY,
00080 orxSPAWNER_EVENT_WAVE_START,
00081 orxSPAWNER_EVENT_WAVE_STOP,
00082
00083 orxSPAWNER_EVENT_NUMBER,
00084
00085 orxSPAWNER_EVENT_NONE = orxENUM_NONE
00086
00087 } orxSPAWNER_EVENT;
00088
00089
00091 typedef struct __orxSPAWNER_t orxSPAWNER;
00092
00093
00096 extern orxDLLAPI void orxFASTCALL orxSpawner_Setup();
00097
00101 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_Init();
00102
00105 extern orxDLLAPI void orxFASTCALL orxSpawner_Exit();
00106
00110 extern orxDLLAPI orxSPAWNER *orxFASTCALL orxSpawner_Create();
00111
00116 extern orxDLLAPI orxSPAWNER *orxFASTCALL orxSpawner_CreateFromConfig(const orxSTRING _zConfigID);
00117
00122 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_Delete(orxSPAWNER *_pstSpawner);
00123
00128 extern orxDLLAPI void orxFASTCALL orxSpawner_Enable(orxSPAWNER *_pstSpawner, orxBOOL _bEnable);
00129
00134 extern orxDLLAPI orxBOOL orxFASTCALL orxSpawner_IsEnabled(const orxSPAWNER *_pstSpawner);
00135
00136
00140 extern orxDLLAPI void orxFASTCALL orxSpawner_Reset(orxSPAWNER *_pstSpawner);
00141
00147 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetTotalObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32TotalObjectLimit);
00148
00154 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetActiveObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32ActiveObjectLimit);
00155
00160 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectLimit(const orxSPAWNER *_pstSpawner);
00161
00166 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectLimit(const orxSPAWNER *_pstSpawner);
00167
00172 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectCounter(const orxSPAWNER *_pstSpawner);
00173
00178 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectCounter(const orxSPAWNER *_pstSpawner);
00179
00180
00186 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveSize(orxSPAWNER *_pstSpawner, orxU32 _u32WaveSize);
00187
00193 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveDelay(orxSPAWNER *_pstSpawner, orxFLOAT _fWaveDelay);
00194
00199 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetWaveSize(const orxSPAWNER *_pstSpawner);
00200
00205 extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWaveDelay(const orxSPAWNER *_pstSpawner);
00206
00211 extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetNextWaveDelay(const orxSPAWNER *_pstSpawner);
00212
00213
00219 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetObjectSpeed(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvObjectSpeed);
00220
00226 extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetObjectSpeed(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvObjectSpeed);
00227
00228
00234 extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_Spawn(orxSPAWNER *_pstSpawner, orxU32 _u32Number);
00235
00236
00241 extern orxDLLAPI orxFRAME *orxFASTCALL orxSpawner_GetFrame(const orxSPAWNER *_pstSpawner);
00242
00243
00249 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetPosition(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvPosition);
00250
00256 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetRotation(orxSPAWNER *_pstSpawner, orxFLOAT _fRotation);
00257
00263 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetScale(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvScale);
00264
00270 extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition);
00271
00277 extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition);
00278
00283 extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetRotation(const orxSPAWNER *_pstSpawner);
00284
00289 extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWorldRotation(const orxSPAWNER *_pstSpawner);
00290
00296 extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale);
00297
00303 extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale);
00304
00305
00311 extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetParent(orxSPAWNER *_pstSpawner, void *_pParent);
00312
00313
00318 extern orxDLLAPI void orxFASTCALL orxSpawner_SetOwner(orxSPAWNER *_pstSpawner, void *_pOwner);
00319
00324 extern orxDLLAPI orxSTRUCTURE *orxFASTCALL orxSpawner_GetOwner(const orxSPAWNER *_pstSpawner);
00325
00326
00331 extern orxDLLAPI const orxSTRING orxFASTCALL orxSpawner_GetName(const orxSPAWNER *_pstSpawner);
00332
00333 #endif
00334