Brunot
Loading...
Searching...
No Matches
sys::Options Class Reference

#include <Options.h>

Inheritance diagram for sys::Options:
[legend]
Collaboration diagram for sys::Options:
[legend]

Public Member Functions

 Options ()
 ~Options () override=default
 Options (const Options &other)=default
 Options (Options &&other) noexcept=default
auto operator= (const Options &other) -> Options &
auto operator= (Options &&other) noexcept -> Options &=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 systemShowMenu () -> void override
 Specific systems should override this function to show their specific menu for the system.
auto endWindow () -> void override
 currently unused, but intended to but was assumed to be necessary for a proper ImGui editor
auto onRender () -> void override
 called every frame after update has been called for every object.
auto onEnterEngine () -> void override
 hook that is called when a GameObject enters the Engine tree.
auto load (const 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.
auto setMasterVolume (float newVolume) -> void
 Changes the master volume level through Audio system and then updates the Options system toggle.
auto setUIVolume (float newVolume) -> void
 Changes the master volume level through Audio system and then updates the Options system toggle.
auto setMusicVolume (float newVolume) -> void
 Changes the master volume level through Audio system and then updates the Options system toggle.
auto setFullscreen (bool flag) -> void
 Changes if the game is in fullscreen.
auto getMasterVolume () const -> float
 Returns the master volume.
auto getUIVolume () const -> float
 Returns the UI volume.
auto getMusicVolume () const -> float
 Returns the music volume.
auto getFullscreen () const -> bool
 Returns if the game is in fullscreen.
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 onSceneStart (const std::string &sceneName) -> void
 Hook that is called before the first frame a scene is run, but after the entire scene is loaded into the engine To receive the hook, simply override the function in your class.
virtual auto onSceneExit (const std::string &sceneName) -> void
 Hook that is called right before a scene is unloaded To receive the hook, simply override the function in your class.
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.
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 (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 (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 (bool _shouldReceiveMessages) -> void
 set whether the GameObject should Receive Messags, and whether all of it's children should receive messages
auto setActive (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

Private Attributes

float masterVolume = 1.f
float uiVolume = 1.f
float musicVolume = 1.f
bool fullScreen = true
AudioSystemaudio = Engine::getSystem<AudioSystem>()

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 , PlayerTurn = 950 ,
  Table = 960 , SceneManager = 1000 , Particles = 1050 , ActionList = 1100 ,
  DebugDraw = 1150 , ColliderSystem = 1300 , Options = 1400 , TestRunner = 64'000
}
Public Attributes inherited from GameObject
friend Entity
friend Node
friend ChildrenHandeler
friend Engine
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.

Constructor & Destructor Documentation

◆ Options() [1/3]

sys::Options::Options ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~Options()

sys::Options::~Options ( )
overridedefault

◆ Options() [2/3]

sys::Options::Options ( const Options & other)
default
Here is the call graph for this function:

◆ Options() [3/3]

sys::Options::Options ( Options && other)
defaultnoexcept
Here is the call graph for this function:

Member Function Documentation

◆ clone()

auto sys::Options::clone ( ) const->std::unique_ptr< GameObject >
inlineoverridevirtual

makes a copy a GameObject even if it's held polymorphically

Warning
When overriding this function, make sure to set the parents object to this
Returns
a unique_ptr to a new stack allocated object that is a copy of the object

Implements GameObject.

Here is the call graph for this function:

◆ endWindow()

auto sys::Options::endWindow ( ) ->void
inlineoverridevirtual

currently unused, but intended to but was assumed to be necessary for a proper ImGui editor

Implements GameObject.

◆ getEnum()

auto sys::Options::getEnum ( ) ->Type
inlinestatic

function required by all systems

◆ getFullscreen()

auto sys::Options::getFullscreen ( ) const->bool

Returns if the game is in fullscreen.

◆ getMasterVolume()

auto sys::Options::getMasterVolume ( ) const->float

Returns the master volume.

◆ getMusicVolume()

auto sys::Options::getMusicVolume ( ) const->float

Returns the music volume.

◆ getUIVolume()

auto sys::Options::getUIVolume ( ) const->float

Returns the UI volume.

◆ load()

auto sys::Options::load ( const Stream & stream) ->void
overridevirtual

Implementations will load the state of a GameObject from a th::Json Object.

Unimplemented in GameObject

Parameters
streamth::Json Object

Implements GameObject.

◆ onEnterEngine()

auto sys::Options::onEnterEngine ( ) ->void
overridevirtual

hook that is called when a GameObject enters the Engine tree.

The hook is called immediately after a GameObject's parent is called. Functionality may not be correct if an object was removed from the engine then re-added. To receive the hook, simply override the function in your class

Reimplemented from GameObject.

◆ onRender()

auto sys::Options::onRender ( ) ->void
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.

◆ onUpdate()

auto sys::Options::onUpdate ( float dt) ->void
overridevirtual

called once every frame.

Generally used for timers, movement, condition checks, etc. Unimplemented in GameObject

Parameters
dtthe time in seconds that has elapsed

Implements GameObject.

◆ operator=() [1/2]

auto sys::Options::operator= ( const Options & other) ->Options &
Here is the call graph for this function:

◆ operator=() [2/2]

auto sys::Options::operator= ( Options && other) ->Options &=default
defaultnoexcept
Here is the call graph for this function:

◆ save()

auto sys::Options::save ( Stream & stream) const->void
overridevirtual

Implementations will load the state of a GameObject to a th::Json object.

Unimplemented in GameObject

Parameters
streamth::Json Object

Implements GameObject.

◆ setFullscreen()

auto sys::Options::setFullscreen ( bool flag) ->void

Changes if the game is in fullscreen.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setMasterVolume()

auto sys::Options::setMasterVolume ( float newVolume) ->void

Changes the master volume level through Audio system and then updates the Options system toggle.

Here is the caller graph for this function:

◆ setMusicVolume()

auto sys::Options::setMusicVolume ( float newVolume) ->void

Changes the master volume level through Audio system and then updates the Options system toggle.

Here is the caller graph for this function:

◆ setUIVolume()

auto sys::Options::setUIVolume ( float newVolume) ->void

Changes the master volume level through Audio system and then updates the Options system toggle.

Here is the caller graph for this function:

◆ systemShowMenu()

auto sys::Options::systemShowMenu ( ) ->void
overridevirtual

Specific systems should override this function to show their specific menu for the system.

Reimplemented from System.

Here is the call graph for this function:

Member Data Documentation

◆ audio

AudioSystem* sys::Options::audio = Engine::getSystem<AudioSystem>()
private

◆ fullScreen

bool sys::Options::fullScreen = true
private

◆ masterVolume

float sys::Options::masterVolume = 1.f
private

◆ musicVolume

float sys::Options::musicVolume = 1.f
private

◆ uiVolume

float sys::Options::uiVolume = 1.f
private

The documentation for this class was generated from the following files:
  • /home/egrazil/sites/Brunot/The House/source/System/Options.h
  • /home/egrazil/sites/Brunot/The House/source/System/Options.cpp