|
Brunot
|
Component that is responsible for managing the gameplay board, where cards are placed by Players. More...
#include <Messaging.h>
Public Member Functions | |
| Messaging () | |
| ~Messaging () override=default | |
| Messaging (const Messaging &other)=default | |
| Messaging (Messaging &&other) noexcept | |
| auto | operator= (const Messaging &other) -> Messaging & |
| auto | operator= (Messaging &&other) noexcept -> Messaging &=default |
| auto | clone () const -> std::unique_ptr< GameObject > override |
| makes a copy a GameObject even if it's held polymorphically | |
| auto | onUpdate (float dt) -> void override |
| called once every frame. | |
| auto | onRender () -> void override |
| called every frame after update has been called for every object. | |
| auto | endWindow () -> void override |
| currently unused, but intended to but was assumed to be necessary for a proper ImGui editor | |
| auto | load (Stream &stream) -> void override |
| Implementations will load the state of a GameObject from a th::Json Object. | |
| auto | save (Stream &stream) const -> void override |
| Implementations will load the state of a GameObject to a th::Json object. | |
| template<typename classType> | |
| auto | connect (const std::string &eventName, Message(classType::*functionToLink)(const Message *), const std::string &functionName, classType *pointerToSelf) -> void |
| Attaches a member function to a specific event. | |
| auto | remove (const std::string &functionToRemove, GameObject *owner) -> void |
| Removes all functions with the given name that belong to the given owner Example Call: messagingSystem->remove("updatePlayerScore",scoringSystemInstance2);. | |
| auto | removeAll (const GameObject *owner) -> void |
| auto | broadcast (const std::string &eventName, const Message *message) -> std::vector< Message > |
| Calls all functions linked to eventName with the parameter message Example Call: messagingSystem->emit("PlayerScored",playerScoredMessage);. | |
| Public Member Functions inherited from System | |
| auto | showMenu () -> void override |
| Called before update each frame, for calling ImGui editor code relevant to the gameObject. | |
| auto | getKey () const -> Key override |
| Generates a unique Key that corresponds to the GameObject. | |
| auto | getParent () const -> GameObject *override |
| Gets the parent of a GameObject. | |
| Public Member Functions inherited from GameObject | |
| GameObject (std::string typeName, gobj::Type parentType, gobj::Type type) | |
| constructor for gameobject. | |
| virtual | ~GameObject () |
| destructor for GameObject. | |
| GameObject (const GameObject &other) | |
| Copy Constructor. | |
| auto | operator= (const GameObject &other) -> GameObject & |
| copy assignment operator | |
| GameObject (GameObject &&other) noexcept | |
| Move constructor. | |
| auto | operator= (GameObject &&other) noexcept -> GameObject & |
| Move assignment operator. | |
| virtual auto | update (float dt) -> void |
| called once every frame. | |
| virtual auto | render () -> void |
| called every frame after update has been called for every object. | |
| virtual auto | destroy () -> void |
| Marks an GameObject to be destroyed. | |
| virtual auto | onEnterEngine () -> void |
| hook that is called when a GameObject enters the Engine tree. | |
| virtual auto | for_each (std::function< void(GameObject &)> func) -> void |
| applies a function to every child. | |
| virtual auto | for_each (std::function< void(const GameObject &)> func) const -> void |
| applies a const function to every child. | |
| virtual auto | parentTo (GameObject *newParent) -> bool |
| Sets the GameObject as a child of another GameObject. | |
| auto | getInternalParent () const -> GameObject * |
| returns the actual owning parent of the GameObject | |
| virtual auto | addChild (std::unique_ptr< GameObject > newChild) -> bool |
| Adds a child to a GameObject. | |
| auto | destroyed () const -> bool |
| auto | getUUID () const -> gobj::UUID |
| auto | isUUID (gobj::UUID compareUUID) const -> bool |
| auto | getName () const -> const std::string & |
| Gets the type of the object as a string. | |
| auto | getNickname () const -> const std::string & |
| Gets the nickname (custom, writable name) of a GameObject. | |
| void | calculateFormattedName () const |
| auto | getFormattedName () const -> const std::string & |
| combines a GameObjects Type, Nickname, and UUID into one string, for use with logging. | |
| auto | nameEquals (const std::string &compareString) const -> bool |
| check whether a GameObjects typeName is equivilent to a given string. | |
| auto | isType (gobj::Type otherType) const -> bool |
| check whether the GameObject is the same as a given type. | |
| auto | getObjectType () const -> gobj::Type |
| gets the internal type of the GameObject, as an enum | |
| auto | setNickname (const std::string &newNickname) -> void |
| sets the GameObjects nickname. | |
| auto | updates () const -> bool |
| auto | renders () const -> bool |
| auto | receivesMessages () const -> bool |
| auto | isActive () const -> bool |
| virtual auto | setShouldUpdate (const bool _shouldUpdate) -> void |
| set whether the GameObject should update every frame, and whether all of it's children should update every frame | |
| virtual auto | setShouldRender (const bool _shouldRender) -> void |
| set whether the GameObject should render every frame, and whether all of it's children should render every frame | |
| virtual auto | setShouldReceiveMessages (const bool _shouldReceiveMessages) -> void |
| set whether the GameObject should Receive Messags, and whether all of it's children should receive messages | |
| auto | setActive (const bool shouldBeActive) -> void |
| set the GameObject should update, render, and receive messages | |
Static Public Member Functions | |
| static auto | getEnum () -> Type |
| function required by all systems | |
| static auto | Broadcast (const std::string &eventName, const Message *message) -> std::vector< Message > |
| A helper function that gets the messaging system and calls broadcast on it for you. | |
Protected Member Functions | |
| auto | systemShowMenu () -> void override |
| Specific systems should override this function to show their specific menu for the system. | |
| Protected Member Functions inherited from System | |
| System (const std::string &typeName, Type systemType) | |
| Protected Member Functions inherited from GameObject | |
| auto | setInternalParent (GameObject *parent) -> bool |
| sets the internal parent of a GameObject directly, avoiding abstractions provided by ParentTo(). | |
| auto | getGameObjectJson () const -> json |
| Used for serializing GameObjects. | |
| auto | setGameObjectJson (const json &stream) -> void |
| used for deserializing GameObjects | |
| virtual auto | getChildren () const -> std::shared_ptr< std::vector< GameObject * > > |
| gets a vector of a GameObjects public (i.e. | |
| auto | checkAddToSceneHook () -> void |
| Determine if the GameObject was recently added to the engine, and if it was, call onEngineEnter. | |
Private Attributes | |
| std::unordered_multimap< std::string, th::MemberFunction< Message, const Message * > > | functionMap |
Static Private Attributes | |
| static auto | HasParentExpired |
Additional Inherited Members | |
| Public Types inherited from System | |
| enum class | Type : unsigned short { system_error_type = 0 , newSystemStub = 100 , OpenGL = 200 , Input = 300 , Editor = 400 , Messaging = 500 , Camera = 600 , Logging = 700 , AudioSystem = 750 , Scoring = 800 , HandSystem = 900 , SceneManager = 1000 , ActionList = 1100 , DebugDraw = 1150 , TestRunner = 1200 , ColliderSystem = 1300 } |
| Public Attributes inherited from GameObject | |
| friend | Entity |
| friend | Node |
| friend | ChildrenHandeler |
| friend | Engine |
Component that is responsible for managing the gameplay board, where cards are placed by Players.
@Board.h
| sys::Messaging::Messaging | ( | ) |
|
overridedefault |
|
default |
|
noexcept |
|
static |
A helper function that gets the messaging system and calls broadcast on it for you.
| eventName | The event that you want to occur |
| message | The information that you want to send to the functions |
| auto sys::Messaging::broadcast | ( | const std::string & | eventName, |
| const Message * | message )->std::vector< Message > |
Calls all functions linked to eventName with the parameter message
Example Call: messagingSystem->emit("PlayerScored",playerScoredMessage);.
| eventName | The event that you want to occur |
| message | The information that you want to send to the functions @retun A vector of all messages returned by the functions |
|
inlineoverridevirtual |
makes a copy a GameObject even if it's held polymorphically
Implements GameObject.
|
inline |
Attaches a member function to a specific event.
The member function is associated with an instance of the class and a name.
Note: you need to pass in the class the function belongs to inside of the <> or else it will error
Example Call: messagingSystem->connect<ScoringSystem>("PlayerScored", &ScoringSystem::updateScore, "updatePlayerScore",scoringSystemInstance);
| classType | The Class that the base function is associated with |
| eventName | The event that you want the function to be linked to |
| functionToLink | A pointer to the function you want to be called |
| functionName | The name of the function that you want to be called |
| pointerToSelf | A pointer to the class instance that is associated with the function |
|
inlineoverridevirtual |
currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
Implements GameObject.
|
inlinestatic |
function required by all systems
|
overridevirtual |
Implementations will load the state of a GameObject from a th::Json Object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
|
overridevirtual |
called every frame after update has been called for every object.
Generally used for rendering an object to the screen, when applicable. Unimplemented in GameObject
Implements GameObject.
|
overridevirtual |
called once every frame.
Generally used for timers, movement, condition checks, etc. Unimplemented in GameObject
| dt | the time in seconds that has elapsed |
Implements GameObject.
| auto sys::Messaging::remove | ( | const std::string & | functionToRemove, |
| GameObject * | owner )->void |
Removes all functions with the given name that belong to the given owner
Example Call: messagingSystem->remove("updatePlayerScore",scoringSystemInstance2);.
| functionToRemove | The name of the function you want to remove |
| owner | The owner of the function you want to remove |
| auto sys::Messaging::removeAll | ( | const GameObject * | owner | ) | ->void |
|
overridevirtual |
Implementations will load the state of a GameObject to a th::Json object.
Unimplemented in GameObject
| stream | th::Json Object |
Implements GameObject.
|
overrideprotectedvirtual |
Specific systems should override this function to show their specific menu for the system.
Reimplemented from System.
|
private |
|
inlinestaticprivate |