00001 #ifndef __NYTRO_TriggerEntity_H 00002 #define __NYTRO_TriggerEntity_H 00003 00004 //***************************************************************************** 00005 // Nytro GameEngine 00006 // 00007 // © Copyright 7thFACTOR Entertainment 00008 // All rights reserved 00009 //***************************************************************************** 00010 00011 #include "system/nyCommon.h" 00012 #include "game/nyGameProvider.h" 00013 00014 namespace Nytro 00015 { 00016 namespace Game 00017 { 00018 class NYTRO_API TriggerEntity : public Entity 00019 { 00020 public: 00021 00022 enum ETriggerType 00023 { 00024 eTriggerType_Box, 00025 eTriggerType_Sphere, 00026 eTriggerType_Cylinder, 00027 eTriggerType_Fence 00028 }; 00029 00030 NYTRO_CLASS_NAME( TriggerEntity ); 00031 00032 TriggerEntity(); 00033 ~TriggerEntity(); 00034 00035 Base* clone(); 00036 EResult preCache(); 00037 void free(); 00038 void schematicRender(); 00039 void prepare(); 00040 void computeBoundingBox(); 00041 void onPropertyValueChanged( voidptr pPropertyData ); 00042 00043 NYTRO_CLASS_HAS_PROPERTIES; 00044 00045 vector<Vector3D> m_fencePoints; 00046 float32 m_fenceHeight; 00047 }; 00048 }; 00049 }; 00050 00051 #endif