| 62 | }; |
| 63 | |
| 64 | class CGameObject : public CObject, public CUsableScriptObject, public CScriptBinder |
| 65 | { |
| 66 | typedef CObject inherited; |
| 67 | Flags32 m_server_flags; |
| 68 | CAI_ObjectLocation* m_ai_location; |
| 69 | ALife::_STORY_ID m_story_id; |
| 70 | animation_movement_controller* m_anim_mov_ctrl; |
| 71 | |
| 72 | protected: |
| 73 | //время удаления объекта |
| 74 | bool m_bObjectRemoved; |
| 75 | |
| 76 | public: |
| 77 | CGameObject(); |
| 78 | virtual ~CGameObject(); |
| 79 | |
| 80 | public: |
| 81 | // functions used for avoiding most of the smart_cast |
| 82 | virtual CAttachmentOwner* cast_attachment_owner() { return NULL; } |
| 83 | virtual CInventoryOwner* cast_inventory_owner() { return NULL; } |
| 84 | virtual CInventoryItem* cast_inventory_item() { return NULL; } |
| 85 | virtual CEntity* cast_entity() { return NULL; } |
| 86 | virtual CEntityAlive* cast_entity_alive() { return NULL; } |
| 87 | virtual CActor* cast_actor() { return NULL; } |
| 88 | virtual CGameObject* cast_game_object() { return this; } |
| 89 | virtual CCustomZone* cast_custom_zone() { return NULL; } |
| 90 | virtual CPhysicsShellHolder* cast_physics_shell_holder() { return NULL; } |
| 91 | virtual IInputReceiver* cast_input_receiver() { return NULL; } |
| 92 | virtual CParticlesPlayer* cast_particles_player() { return NULL; } |
| 93 | virtual CArtefact* cast_artefact() { return NULL; } |
| 94 | virtual CCustomMonster* cast_custom_monster() { return NULL; } |
| 95 | virtual CAI_Stalker* cast_stalker() { return NULL; } |
| 96 | virtual CScriptEntity* cast_script_entity() { return NULL; } |
| 97 | virtual CWeapon* cast_weapon() { return NULL; } |
| 98 | virtual CExplosive* cast_explosive() { return NULL; } |
| 99 | virtual CSpaceRestrictor* cast_restrictor() { return NULL; } |
| 100 | virtual CAttachableItem* cast_attachable_item() { return NULL; } |
| 101 | virtual CHolderCustom* cast_holder_custom() { return NULL; } |
| 102 | virtual CBaseMonster* cast_base_monster() { return NULL; } |
| 103 | |
| 104 | public: |
| 105 | virtual BOOL feel_touch_on_contact(CObject*) { return TRUE; } |
| 106 | virtual bool use(CGameObject* who_use) { return CUsableScriptObject::use(who_use); }; |
| 107 | |
| 108 | public: |
| 109 | CInifile* m_ini_file; |
| 110 | bool m_spawned; |
| 111 | |
| 112 | // Utilities |
| 113 | static void u_EventGen(NET_Packet& P, u32 type, u32 dest); |
| 114 | static void u_EventSend(NET_Packet& P, u32 dwFlags = 0x0008); |
| 115 | |
| 116 | // Methods |
| 117 | virtual void Load(LPCSTR section); |
| 118 | virtual BOOL net_Spawn(CSE_Abstract* DC); |
| 119 | virtual void net_Destroy(); |
| 120 | virtual void net_Relcase(CObject* O); |
| 121 | virtual void UpdateCL(); |
nothing calls this directly
no test coverage detected