MAGE  v0.171.0
Matthias Advanced Game Engine
mage::BehaviorScript Class Reference

#include <behavior_script.hpp>

Inheritance diagram for mage::BehaviorScript:
mage::Component mage::script::CharacterMotorScript mage::script::EditorScript mage::script::ManhattanMotorScript mage::script::MouseLookScript mage::script::RotationScript mage::script::StatsScript mage::script::SwitchSceneScript< SceneT > mage::script::TextConsoleScript mage::script::VoxelGridAnchorScript

Public Member Functions

virtual ~BehaviorScript ()
 
BehaviorScriptoperator= (const BehaviorScript &script) noexcept
 
BehaviorScriptoperator= (BehaviorScript &&script) noexcept
 
virtual void Load ([[maybe_unused]] Engine &engine)
 
virtual void FixedUpdate ([[maybe_unused]] Engine &engine)
 
virtual void Update ([[maybe_unused]] Engine &engine)
 
virtual void Close ([[maybe_unused]] Engine &engine)
 
- Public Member Functions inherited from mage::Component
virtual ~Component ()
 
Componentoperator= (const Component &component) noexcept
 
Componentoperator= (Component &&component) noexcept
 
State GetState () const noexcept
 
void SetState (State state) noexcept
 
U64 GetGuid () const noexcept
 
bool HasOwner () const noexcept
 
ProxyPtr< NodeGetOwner () noexcept
 
ProxyPtr< const NodeGetOwner () const noexcept
 

Protected Member Functions

 BehaviorScript () noexcept
 
 BehaviorScript (const BehaviorScript &script) noexcept
 
 BehaviorScript (BehaviorScript &&script) noexcept
 
- Protected Member Functions inherited from mage::Component
 Component () noexcept
 
 Component (const Component &component) noexcept
 
 Component (Component &&component) noexcept
 

Detailed Description

A class of behavior scripts.

Constructor & Destructor Documentation

◆ ~BehaviorScript()

mage::BehaviorScript::~BehaviorScript ( )
virtualdefault

Destructs this behavior script.

◆ BehaviorScript() [1/3]

mage::BehaviorScript::BehaviorScript ( )
protecteddefaultnoexcept

Constructs a behavior script.

◆ BehaviorScript() [2/3]

mage::BehaviorScript::BehaviorScript ( const BehaviorScript script)
protecteddefaultnoexcept

Constructs a behavior script from the given behavior script.

Parameters
[in]scriptA reference to the behavior script to copy.

◆ BehaviorScript() [3/3]

mage::BehaviorScript::BehaviorScript ( BehaviorScript &&  script)
protecteddefaultnoexcept

Constructs a behavior script by moving the given behavior script.

Parameters
[in]scriptA reference to the behavior script to move.

Member Function Documentation

◆ Close()

void mage::BehaviorScript::Close ( [[maybe_unused] ] Engine engine)
virtual

Closes this behavior script. Allows this behavior script to preform any post-processing destruction.

Parameters
[in,out]engineA reference to the engine.
Exceptions
ExceptionFailed to close this behavior script.

◆ FixedUpdate()

void mage::BehaviorScript::FixedUpdate ( [[maybe_unused] ] Engine engine)
virtual

Updates this behavior script.

This method can be called zero, one or multiple times per frame depending on the fixed delta time used by the engine.

Parameters
[in,out]engineA reference to the engine.
Exceptions
ExceptionFailed to update this behavior script.

◆ Load()

void mage::BehaviorScript::Load ( [[maybe_unused] ] Engine engine)
virtual

Loads this behavior script. Allows this behavior script to preform any pre-processing.

Parameters
[in,out]engineA reference to the engine.
Exceptions
ExceptionFailed to load this behavior script.

Reimplemented in mage::script::TextConsoleScript, mage::script::MouseLookScript, mage::script::RotationScript, mage::script::CharacterMotorScript, mage::script::ManhattanMotorScript, mage::script::StatsScript, mage::script::VoxelGridAnchorScript, and mage::script::EditorScript.

◆ operator=() [1/2]

BehaviorScript & mage::BehaviorScript::operator= ( const BehaviorScript script)
defaultnoexcept

Copies the given behavior script to this behavior script.

Parameters
[in]scriptA reference to the behavior script to copy.
Returns
A reference to the copy of the given behavior script (i.e. this behavior script).

◆ operator=() [2/2]

BehaviorScript & mage::BehaviorScript::operator= ( BehaviorScript &&  script)
defaultnoexcept

Moves the given behavior script to this behavior script.

Parameters
[in]scriptA reference to the behavior script to move.
Returns
A reference to the moved behavior script (i.e. this behavior script).

◆ Update()

void mage::BehaviorScript::Update ( [[maybe_unused] ] Engine engine)
virtual

Updates this behavior script.

This method is called once per frame.

Parameters
[in,out]engineA reference to the engine.
Exceptions
ExceptionFailed to update this behavior script.

Reimplemented in mage::script::TextConsoleScript, mage::script::MouseLookScript, mage::script::RotationScript, mage::script::CharacterMotorScript, mage::script::ManhattanMotorScript, mage::script::StatsScript, mage::script::SwitchSceneScript< SceneT >, mage::script::VoxelGridAnchorScript, and mage::script::EditorScript.