25 #ifndef __I6ENGINE_API_OBJECTCONFIG_H__
26 #define __I6ENGINE_API_OBJECTCONFIG_H__
37 #include "boost/function.hpp"
45 typedef utils::sharedPtr<Component, Component>
ComPtr;
46 typedef boost::function<ComPtr(const int64_t, const attributeMap &)>
createGOCCallback;
47 typedef utils::sharedPtr<GameObject, GameObject>
GOPtr;
48 typedef utils::weakPtr<GameObject, GameObject>
WeakGOPtr;
81 GOTemplateComponent() : _template(), _id(-1), _params(), _owner(false), _identifier(), _deleted(false) {
84 GOTemplateComponent(
const std::string & t, int64_t i,
const attributeMap & p,
bool b,
const std::string &
id,
bool deleted) : _template(t), _id(i), _params(p), _owner(b), _identifier(id), _deleted(deleted) {
87 GOTemplateComponent(
const std::string & t,
const attributeMap & p,
const std::string &
id,
bool deleted,
bool owner) : _template(t), _id(-1), _params(p), _owner(owner), _identifier(id), _deleted(deleted) {
90 template<
class Archive>
107 template<
class Archive>
125 template<
class Archive>
127 ar & boost::serialization::base_object<GameMessageStruct>(*this);
144 template<
class Archive>
146 ar & boost::serialization::base_object<GameMessageStruct>(*this);
159 std::function<void(void)>
func;
161 Object_Level_Create(
const std::string & fi,
const std::string & fl,
const std::function<
void(uint16_t)> & cb,
const std::function<
void(
void)> & fu);
162 template<
class Archive>
164 ar & boost::serialization::base_object<GameMessageStruct>(*this);
178 template<
class Archive>
180 ar & boost::serialization::base_object<GameMessageStruct>(*this);
219 boost::function<void(const GOPtr &)>
func;
231 boost::function<bool(const GOPtr &)>
func;
259 template<
class Archive>
261 ar & boost::serialization::base_object<GameMessageStruct>(*this);
struct for registering component templates never send through network
void serialize(Archive &ar, const unsigned int)
utils::sharedPtr< GameObject, GameObject > GOPtr
void serialize(Archive &ar, const unsigned int)
void serialize(Archive &ar, const unsigned int)
struct for deletion of all GameObjects never send through network
struct for saying the Object subsystem to send its state through network never send through network ...
i6e::api::objects::Object_Pause_Update Object_Pause_Update
pauses the subsystem never send through network
GOTemplateComponent(const std::string &t, const attributeMap &p, const std::string &id, bool deleted, bool owner)
internal representation of a Component within a GameObject template
struct for sending messages to special GameObjects fullfilling the given method never send through ne...
Object_Pause_Update(bool p)
Class describing a 3d rotation.
void serialize(Archive &ar, const unsigned int)
Object_Type_Delete * copy()
Copy method returning an exact copy of itself.
i6e::api::objects::Object_CreateAndCall_Create Object_CreateAndCall_Create
struct for creation of a GameObject and calling a callback with it never send through network ...
i6e::api::objects::Object_Type_Delete Object_Type_Delete
deletes all objects of given type
#define ISIXE_MODULES_API
i6e::api::objects::Object_Create_Delete Object_Create_Delete
deletes a GameObject
Object_Create_Create * copy()
Copy method returning an exact copy of itself.
boost::shared_ptr< Message > Ptr
struct ISIXE_MODULES_API i6e::api::objects::GOTemplateComponent GOTemplateComponent
internal representation of a Component within a GameObject template
std::map< std::string, std::string > attributeMap
Object_RegisterCTemplate_Create * copy()
Copy method returning an exact copy of itself.
Object_Level_Create * copy()
Copy method returning an exact copy of itself.
utils::weakPtr< GameObject > WeakGOPtr
Implements 3-dimensional vectors.
void serialize(Archive &ar, const unsigned int)
i6e::api::objects::Object_RegisterCTemplate_Create Object_RegisterCTemplate_Create
struct for registering component templates never send through network
Object_Clean_Delete * copy()
Copy method returning an exact copy of itself.
i6e::api::objects::Object_Level_Create Object_Level_Create
loads a level
enables or disables ticking of Components never send through network
creates a GameObject out of a template file
Object_ComponentTicking_Update(bool a)
Object_KillMe_Update * copy()
Copy method returning an exact copy of itself.
void(* CreateGO)(GOPtr, const attributeMap &)
std::vector< GOTemplateComponent > _components
internal representation of all GameObject templates
i6e::api::objects::Object_ConditionalMessage_Update Object_ConditionalMessage_Update
struct for sending messages to special GameObjects fullfilling the given method never send through ne...
struct for creation of a GameObject and calling a callback with it never send through network ...
i6e::api::objects::Position_Update Position_Update
message for creation of new Position
std::function< void(void)> func
boost::function< ComPtr(const int64_t, const attributeMap &)> createGOCCallback
deletes all objects of given type
struct for deletion of GameObject using ConditionalMessage never send through network ...
GOTemplateComponent(const std::string &t, int64_t i, const attributeMap &p, bool b, const std::string &id, bool deleted)
void serialize(Archive &ar, const unsigned int)
boost::function< bool(const GOPtr &)> func
pauses the subsystem never send through network
i6e::api::objects::Object_KillMe_Update Object_KillMe_Update
struct for deletion of GameObject using ConditionalMessage never send through network ...
i6e::api::objects::Object_State_Update Object_State_Update
struct for saying the Object subsystem to send its state through network never send through network ...
boost::function< void(const GOPtr &)> func
Object_CreateAndCall_Create * copy()
Copy method returning an exact copy of itself.
Position_Update * copy()
Copy method returning an exact copy of itself.
i6e::api::objects::Object_Create_Create Object_Create_Create
creates a GameObject out of a template file
Object_State_Update * copy()
Copy method returning an exact copy of itself.
std::function< void(uint16_t)> callback
utils::sharedPtr< Component, Component > ComPtr
Object_ConditionalMessage_Update * copy()
Copy method returning an exact copy of itself.
message for creation of new Position
i6e::api::objects::Object_Clean_Delete Object_Clean_Delete
struct for deletion of all GameObjects never send through network
struct ISIXE_MODULES_API i6e::api::objects::GOTemplate GOTemplate
internal representation of all GameObject templates
Object_ComponentTicking_Update * copy()
Copy method returning an exact copy of itself.
i6e::api::objects::Object_ComponentTicking_Update Object_ComponentTicking_Update
enables or disables ticking of Components never send through network
Object_Pause_Update * copy()
Copy method returning an exact copy of itself.
void serialize(Archive &ar, const unsigned int)
Object_Create_Delete * copy()
Copy method returning an exact copy of itself.