![]() |
FastEngine 0.9.3
A multiplayer oriented 2D engine made with Vulkan.
|
The Object class is the base class for all objects in the engine. More...
#include <C_object.hpp>
Public Member Functions | |
Object (Object const &r) | |
Object (Object &&r) noexcept | |
virtual fge::Object * | copy () |
Duplicate the object. | |
virtual void | first (fge::Scene &scene) |
Method called when the object is added to a scene for initialization purposes. | |
virtual void | transfered (fge::Scene &oldScene, fge::Scene &newScene) |
Method called when the object is transferred from a scene to another. | |
virtual void | callbackRegister (fge::Event &event, fge::GuiElementHandler *guiElementHandlerPtr) |
Ask the object to register all callbacks it needs to receive events. | |
virtual void | update (fge::RenderWindow &screen, fge::Event &event, std::chrono::microseconds const &deltaTime, fge::Scene &scene) |
Main method called every frame. | |
void | update (fge::RenderWindow &screen, fge::Event &event, std::chrono::microseconds const &deltaTime) |
virtual void | draw (fge::RenderTarget &target, fge::RenderStates const &states) const override |
Method called every frame to draw the object. | |
virtual void | networkRegister () |
Register all network types needed by the object. | |
virtual void | netSignaled (int8_t signal) |
Method called when the object is signaled by the network. | |
virtual void | removed (fge::Scene &scene) |
Method called when the object is removed from a scene. | |
virtual void | save (nlohmann::json &jsonObject, fge::Scene *scene) |
Save the object to a json object. | |
virtual void | load (nlohmann::json &jsonObject, fge::Scene *scene) |
Load the object from a json object. | |
virtual void | pack (fge::net::Packet &pck) |
Pack the object into a packet. | |
virtual void | unpack (fge::net::Packet const &pck) |
Unpack the object from a packet. | |
virtual char const * | getClassName () const |
Get the unique class name of the object. | |
virtual char const * | getReadableClassName () const |
Get a readable version of the class name. | |
virtual fge::RectFloat | getGlobalBounds () const |
Get the global bounds of the object. | |
virtual fge::Quad | getGlobalQuad () const |
virtual fge::RectFloat | getLocalBounds () const |
Get the local bounds of the object (without any transformations) | |
virtual fge::Quad | getLocalQuad () const |
bool | saveInFile (std::string const &path) |
Save the object in a file. | |
bool | loadFromFile (std::string const &path) |
Load the object from a file. | |
virtual fge::GuiElement * | getGuiElement () |
Get the GuiElement attached to this object if there is one. | |
glm::mat4 | getParentsTransform () const |
Retrieve recursively all parents transform by combining them. | |
fge::Vector2f | getParentsScale () const |
Retrieve recursively all parents scale by combining them. | |
void | setPosition (Vector2f const &position) |
Vector2f const & | getPosition () const |
void | move (Vector2f const &offset) |
void | setRotation (float angle) |
float | getRotation () const |
void | rotate (float angle) |
void | setScale (Vector2f const &factors) |
void | setScale (float factor) |
Vector2f const & | getScale () const |
void | scale (Vector2f const &factor) |
void | scale (float factor) |
void | setOrigin (Vector2f const &origin) |
Vector2f const & | getOrigin () const |
glm::mat4 const & | getTransform () const |
glm::mat4 const & | getInverseTransform () const |
void | updateAnchor (fge::Vector2f const &customTargetSize={0.0f, 0.0f}) |
void | setAnchor (Types type, fge::Vector2< Shifts > const &shift, fge::ObjectSid target=std::numeric_limits< fge::ObjectSid >::max()) |
void | setAnchorType (Types type) |
void | setAnchorShift (fge::Vector2< Shifts > const &shift) |
void | setAnchorTarget (fge::ObjectSid target) |
Types | getAnchorType () const |
fge::Vector2< Shifts > const & | getAnchorShift () const |
fge::ObjectSid | getAnchorTarget () const |
fge::Object * | getAnchorOwner () const |
void | setAnchorSuccessor (fge::ObjectDataWeak successor) |
fge::ObjectDataWeak | getAnchorSuccessor () const |
void | needAnchorUpdate (bool flag) |
bool | isNeedingAnchorUpdate () const |
Static Public Member Functions | |
static fge::Object * | LoadFromFile (std::string const &path) |
Static form of the loadFromFile method. | |
Public Attributes | |
fge::TagList | _tags |
The tags of the object. | |
fge::PropertyList | _properties |
The properties of the object. | |
fge::net::NetworkTypeHandler | _netList |
The network types container of the object. | |
fge::ObjectDataWeak | _myObjectData |
The object data of the object (valid only if the object is in a scene) | |
fge::Object::DrawModes | _drawMode |
Tell a scene when this object should be drawn. | |
fge::Object::CallbackContextModes | _callbackContextMode |
Tell a scene how the callbackRegister must be called. | |
ChildrenControlFlags_t | _childrenControlFlags {CHILDREN_DEFAULT} |
The control flags of the child objects. | |
fge::ChildObjectsAccessor | _children |
An access to child objects of this object. | |
The Object class is the base class for all objects in the engine.
|
virtual |
Ask the object to register all callbacks it needs to receive events.
event | The event system |
guiElementHandlerPtr | The GUI element handler |
Reimplemented in fge::ObjButton, fge::ObjSelectBox, fge::ObjSlider, fge::ObjTextInputBox, fge::ObjTextList, and fge::ObjWindow.
|
virtual |
Duplicate the object.
By default, if the copy method is not overridden, the object is duplicated with the help of the register manager (and the object class have to be registered).
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjShaderChain, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTileMap, and fge::ObjWindow.
|
overridevirtual |
Method called every frame to draw the object.
target | The target where the object is drawn |
states | The render states |
Implements fge::Drawable.
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjShaderChain, fge::ObjShape, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTileMap, and fge::ObjWindow.
|
virtual |
Method called when the object is added to a scene for initialization purposes.
scene | The scene where the object is added |
Reimplemented in fge::ObjLight, fge::ObjRenderMap, fge::ObjShaderChain, fge::ObjShape, fge::ObjSlider, fge::ObjTextList, and fge::ObjWindow.
|
virtual |
Get the unique class name of the object.
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjCircleShape, fge::ObjLight, fge::ObjLineShape, fge::ObjRectangleShape, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjShaderChain, fge::ObjSlider, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, fge::ObjTextList, fge::ObjTileMap, and fge::ObjWindow.
|
nodiscardvirtual |
Get the global bounds of the object.
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjShaderChain, fge::ObjShape, fge::ObjSlider, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, fge::ObjTextList, fge::ObjTileMap, and fge::ObjWindow.
|
virtual |
Get the GuiElement attached to this object if there is one.
Reimplemented in fge::ObjButton, fge::ObjSelectBox, fge::ObjSlider, fge::ObjTextInputBox, and fge::ObjWindow.
|
nodiscardvirtual |
Get the local bounds of the object (without any transformations)
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjShaderChain, fge::ObjShape, fge::ObjSlider, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, fge::ObjTextList, fge::ObjTileMap, and fge::ObjWindow.
fge::Vector2f fge::Object::getParentsScale | ( | ) | const |
Retrieve recursively all parents scale by combining them.
glm::mat4 fge::Object::getParentsTransform | ( | ) | const |
Retrieve recursively all parents transform by combining them.
|
virtual |
Get a readable version of the class name.
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjCircleShape, fge::ObjLight, fge::ObjLineShape, fge::ObjRectangleShape, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjShaderChain, fge::ObjSlider, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, fge::ObjTextList, fge::ObjTileMap, and fge::ObjWindow.
|
virtual |
Load the object from a json object.
jsonObject | The json object where the object is loaded |
scene | The scene where the object is loaded (can be nullptr) |
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, and fge::ObjTileMap.
|
static |
Static form of the loadFromFile method.
path | The path of the file |
bool fge::Object::loadFromFile | ( | std::string const & | path | ) |
Load the object from a file.
path | The path of the file |
|
virtual |
Method called when the object is signaled by the network.
signal | The signal received |
|
virtual |
Register all network types needed by the object.
|
virtual |
Pack the object into a packet.
pck | The packet where the object is packed |
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, and fge::ObjTileMap.
|
virtual |
Method called when the object is removed from a scene.
scene | The scene where the object is removed |
Reimplemented in fge::ObjRenderMap, and fge::ObjWindow.
|
virtual |
Save the object to a json object.
jsonObject | The json object where the object is saved |
scene | The scene where the object is saved (can be nullptr) |
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, and fge::ObjTileMap.
bool fge::Object::saveInFile | ( | std::string const & | path | ) |
Save the object in a file.
path | The path of the file |
|
virtual |
Method called when the object is transferred from a scene to another.
This method is called after the object is removed from the old scene and added to the new scene. The _myObjectData is updated to the new scene when this method is called.
oldScene | The old scene where the object was |
newScene | The new scene where the object is |
|
virtual |
Unpack the object from a packet.
pck | The packet where the object is unpacked |
Reimplemented in fge::ObjAnimation, fge::ObjButton, fge::ObjLight, fge::ObjRenderMap, fge::ObjSelectBox, fge::ObjSprite, fge::ObjSpriteBatches, fge::ObjSpriteCluster, fge::ObjSwitch, fge::ObjText, fge::ObjTextInputBox, and fge::ObjTileMap.
|
virtual |
Main method called every frame.
screen | The screen where the object is drawn |
event | The event system |
deltaTime | The time since the last frame |
scene | The scene where the object is updated |
Reimplemented in fge::ObjAnimation, fge::ObjLight, fge::ObjRenderMap, fge::ObjSwitch, and fge::ObjWindow.
fge::Object::CallbackContextModes fge::Object::_callbackContextMode |
Tell a scene how the callbackRegister must be called.
fge::ChildObjectsAccessor fge::Object::_children |
An access to child objects of this object.
ChildrenControlFlags_t fge::Object::_childrenControlFlags {CHILDREN_DEFAULT} |
The control flags of the child objects.
fge::Object::DrawModes fge::Object::_drawMode |
Tell a scene when this object should be drawn.
fge::ObjectDataWeak fge::Object::_myObjectData |
The object data of the object (valid only if the object is in a scene)
fge::net::NetworkTypeHandler fge::Object::_netList |
The network types container of the object.
fge::PropertyList fge::Object::_properties |
The properties of the object.
fge::TagList fge::Object::_tags |
The tags of the object.