00001 #ifndef __KX_ISCENE_H 00002 #define __KX_ISCENE_H 00003 00004 #include <vector> 00005 00006 #include "StdString.h" 00007 00008 struct SCA_DebugProp 00009 { 00010 class CValue* m_obj; 00011 CCString m_name; 00012 }; 00013 00014 class SCA_IScene 00015 { 00016 std::vector<SCA_DebugProp*> m_debugList; 00017 public: 00018 SCA_IScene() {}; 00019 virtual ~SCA_IScene() { 00020 // release debugprop list 00021 for (std::vector<SCA_DebugProp*>::iterator it = m_debugList.begin(); 00022 !(it==m_debugList.end());it++) 00023 { 00024 delete (*it); 00025 } 00026 }; 00027 virtual class SCA_IObject* AddReplicaObject(class CValue* gameobj,class CValue* locationobj,int lifespan=0)=0; 00028 virtual void RemoveObject(class CValue* gameobj)=0; 00029 virtual void ReplaceMesh(class CValue* gameobj,void* meshobj)=0; 00030 std::vector<SCA_DebugProp*>& GetDebugProperties() 00031 { 00032 return m_debugList; 00033 } 00034 void AddDebugProperty(class CValue* debugprop,const CCString &name) 00035 { 00036 SCA_DebugProp* dprop = new SCA_DebugProp(); 00037 dprop->m_obj = debugprop; 00038 dprop->m_name = name; 00039 00040 m_debugList.push_back(dprop); 00041 } 00042 00043 00044 00045 }; 00046 #endif //__KX_ISCENE_H