Mana
mana::VM Class Referencefinal

#include <VM.h>

Inheritance diagram for mana::VM:
mana::Noncopyable

Public Types

using ExternalFunctionType = std::function< void(const std::shared_ptr< Actor > &)>
 

Public Member Functions

 VM ()=default
 
 VM (const VM &)=delete
 
 VM (VM &&) noexcept=delete
 
VMoperator= (const VM &)=delete
 
VMoperator= (VM &&) noexcept=delete
 
 ~VM ()
 
void LoadPlugin (const std::string &filename)
 
void LoadPlugins (const std::string &directoryName)
 
void RegisterFunction (const std::string &name, const ExternalFunctionType &function)
 
void LoadProgram (const std::string &path)
 
void LoadProgram (const std::shared_ptr< const void > &program)
 
void UnloadProgram ()
 
void Restart ()
 
bool Run ()
 
bool IsRunning () const
 
void Execute (const std::function< void()> &function)
 
void RequestAll (const int32_t level, const char *actionName, const std::shared_ptr< Actor > &sender) const
 
bool Request (const int32_t level, const char *actorName, const char *actionName, const std::shared_ptr< Actor > &sender)
 
void YieldAll ()
 
const std::shared_ptr< Actor > & GetActor (const char *name)
 
const std::string_view & GetActorName (const std::shared_ptr< Actor > &actor) const
 
std::shared_ptr< ActorCloneActor (const std::shared_ptr< Actor > &actor, const char *newName)
 
std::shared_ptr< ActorCreateActor (const char *name, const char *newName)
 
std::shared_ptr< ActorCreateActorFromPhantom (const char *name, const char *newName)
 
bool IsInInitAction () const
 
bool IsFinishInitAction () const
 
void SetSystemRequest (const bool enable)
 
bool IsSystemRequestEnabled () const
 
uint32_t GetFrameCounter () const
 
float_t GetDeltaTime () const
 
bool IsFrameChanged () const
 

Friends

class Actor
 

Member Typedef Documentation

◆ ExternalFunctionType

using mana::VM::ExternalFunctionType = std::function<void(const std::shared_ptr<Actor>&)>

Constructor & Destructor Documentation

◆ VM() [1/3]

mana::VM::VM ( )
default

◆ VM() [2/3]

mana::VM::VM ( const VM )
delete

◆ VM() [3/3]

mana::VM::VM ( VM &&  )
deletenoexcept

◆ ~VM()

mana::VM::~VM ( )
inline

Member Function Documentation

◆ CloneActor()

std::shared_ptr< Actor > mana::VM::CloneActor ( const std::shared_ptr< Actor > &  actor,
const char *  newName 
)
inline

◆ CreateActor()

std::shared_ptr< Actor > mana::VM::CreateActor ( const char *  name,
const char *  newName 
)
inline

◆ CreateActorFromPhantom()

std::shared_ptr< Actor > mana::VM::CreateActorFromPhantom ( const char *  name,
const char *  newName 
)
inline

◆ Execute()

void mana::VM::Execute ( const std::function< void()> &  function)
inline

◆ GetActor()

const std::shared_ptr< Actor > & mana::VM::GetActor ( const char *  name)
inline

◆ GetActorName()

const std::string_view & mana::VM::GetActorName ( const std::shared_ptr< Actor > &  actor) const
inline

◆ GetDeltaTime()

float_t mana::VM::GetDeltaTime ( ) const

◆ GetFrameCounter()

uint32_t mana::VM::GetFrameCounter ( ) const
inline

◆ IsFinishInitAction()

bool mana::VM::IsFinishInitAction ( ) const
inline

◆ IsFrameChanged()

bool mana::VM::IsFrameChanged ( ) const
inline

◆ IsInInitAction()

bool mana::VM::IsInInitAction ( ) const
inline

◆ IsRunning()

bool mana::VM::IsRunning ( ) const
inline

◆ IsSystemRequestEnabled()

bool mana::VM::IsSystemRequestEnabled ( ) const
inline

◆ LoadPlugin()

void mana::VM::LoadPlugin ( const std::string &  filename)
inline

◆ LoadPlugins()

void mana::VM::LoadPlugins ( const std::string &  directoryName)
inline

◆ LoadProgram() [1/2]

void mana::VM::LoadProgram ( const std::shared_ptr< const void > &  program)
inline

◆ LoadProgram() [2/2]

void mana::VM::LoadProgram ( const std::string &  path)
inline

◆ operator=() [1/2]

VM& mana::VM::operator= ( const VM )
delete

◆ operator=() [2/2]

VM& mana::VM::operator= ( VM &&  )
deletenoexcept

◆ RegisterFunction()

void mana::VM::RegisterFunction ( const std::string &  name,
const ExternalFunctionType function 
)
inline

◆ Request()

bool mana::VM::Request ( const int32_t  level,
const char *  actorName,
const char *  actionName,
const std::shared_ptr< Actor > &  sender 
)
inline

◆ RequestAll()

void mana::VM::RequestAll ( const int32_t  level,
const char *  actionName,
const std::shared_ptr< Actor > &  sender 
) const
inline

◆ Restart()

void mana::VM::Restart ( )
inline

◆ Run()

bool mana::VM::Run ( )
inline

◆ SetSystemRequest()

void mana::VM::SetSystemRequest ( const bool  enable)
inline

◆ UnloadProgram()

void mana::VM::UnloadProgram ( )
inline

◆ YieldAll()

void mana::VM::YieldAll ( )
inline

Friends And Related Function Documentation

◆ Actor

friend class Actor
friend

The documentation for this class was generated from the following files: