40 #ifndef _worldobject_h
41 #define _worldobject_h
44 #include "transformableobject.h"
46 #include "Physics/physicsenumerations.h"
101 virtual Mezzanine::WorldObjectType GetType()
const = 0;
104 virtual const String& GetName()
const;
107 virtual World* GetWorld()
const;
111 virtual Boolean IsInWorld()
const = 0;
115 virtual Boolean IsStatic()
const = 0;
118 virtual Boolean IsKinematic()
const = 0;
132 virtual void AddToWorld() = 0;
134 virtual void RemoveFromWorld() = 0;
141 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
144 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
147 virtual void ProtoSerializeProxies(
XML::Node& SelfRoot)
const = 0;
151 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
154 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
157 virtual void ProtoDeSerializeProxies(
const XML::Node& SelfRoot) = 0;
162 virtual String GetDerivedSerializableName()
const;
165 static String GetSerializableName();
172 virtual void _Update() = 0;
177 virtual void _NotifyProxyDestroyed(
WorldProxy* ToBeDestroyed) = 0;