MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / CGameObject

Class CGameObject

ogsr_engine/xrGame/GameObject.h:64–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62};
63
64class 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
72protected:
73 //время удаления объекта
74 bool m_bObjectRemoved;
75
76public:
77 CGameObject();
78 virtual ~CGameObject();
79
80public:
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
104public:
105 virtual BOOL feel_touch_on_contact(CObject*) { return TRUE; }
106 virtual bool use(CGameObject* who_use) { return CUsableScriptObject::use(who_use); };
107
108public:
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();

Callers

nothing calls this directly

Calls 1

story_idFunction · 0.85

Tested by

no test coverage detected