Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::GameScript Class Referencefinal

#include <GameScript.h>

+ Inheritance diagram for Divide::GameScript:

Public Member Functions

 GameScript (const string &sourceCode, FrameListenerManager &parent, U32 callOrder)
 
 GameScript (const string &scriptPath, FileType fileType, FrameListenerManager &parent, U32 callOrder)
 
- Public Member Functions inherited from Divide::Script
 Script (const string &scriptPathOrCode, FileType fileType=FileType::TEXT)
 
virtual ~Script () override
 
template<typename T >
void addGlobal (const T &var, const char *name, bool asConst, bool overwrite)
 
template<typename T >
void registerType (const char *typeName)
 
template<typename Func >
void registerFunction (const Func &function, const char *functionName)
 
template<typename T = void>
eval ()
 
template<>
void eval ()
 
- Public Member Functions inherited from Divide::GUIDWrapper
 GUIDWrapper () noexcept
 
 GUIDWrapper (const GUIDWrapper &old) noexcept
 
 GUIDWrapper (GUIDWrapper &&old) noexcept
 
virtual ~GUIDWrapper ()=default
 
FORCE_INLINE I64 getGUID () const noexcept
 
GUIDWrapperoperator= (const GUIDWrapper &old)=delete
 
GUIDWrapperoperator= (GUIDWrapper &&other)=delete
 
- Public Member Functions inherited from Divide::FrameListener
 FrameListener (const Str< 64 > &name, FrameListenerManager &parent, U32 callOrder)
 Either give it a name.
 
virtual ~FrameListener () override
 
bool operator< (FrameListener &that) const noexcept
 

Protected Member Functions

bool frameStarted (const FrameEvent &evt) override
 
bool framePreRender (const FrameEvent &evt) override
 framePreRenderStarted is called when we need to start processing the visual aspect of a scene
 
bool frameRenderingQueued (const FrameEvent &evt) override
 
bool framePostRender (const FrameEvent &evt) override
 
bool frameEnded (const FrameEvent &evt) override
 frameEnded is called after the buffers have been swapped
 
- Protected Member Functions inherited from Divide::Script
void compile ()
 
void bootstrap ()
 
void extractAtoms ()
 
void preprocessIncludes (const std::string &source, I32 level)
 
void caughtException (const char *message, bool isEvalException) const
 
- Protected Member Functions inherited from Divide::FrameListener
void setCallOrder (const U32 order) noexcept
 
virtual bool frameStarted (const FrameEvent &evt)
 
virtual bool framePreRender (const FrameEvent &evt)
 framePreRenderStarted is called when we need to start processing the visual aspect of a scene
 
virtual bool frameSceneRenderStarted (const FrameEvent &evt)
 frameSceneRenderStarted is called right before rendering the scene for the current player starts
 
virtual bool frameSceneRenderEnded (const FrameEvent &evt)
 frameSceneRenderEnded is called immediately after scene rendering for the current player has ended but before any blitting operations
 
virtual bool frameRenderingQueued (const FrameEvent &evt)
 
virtual bool framePostRender (const FrameEvent &evt)
 
virtual bool frameEnded (const FrameEvent &evt)
 frameEnded is called after the buffers have been swapped
 
 PROPERTY_R_IW (bool, enabled, false)
 
 PROPERTY_RW (Str< 64 >, name)
 

Private Member Functions

void addGameInstance () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Divide::Script
static void idle ()
 
static bool OnStartup ()
 
static bool OnShutdown ()
 
static void onScriptModify (std::string_view script, FileUpdateEvent &evt)
 
- Static Public Member Functions inherited from Divide::GUIDWrapper
static I64 generateGUID () noexcept
 
- Protected Types inherited from Divide::Script
using ScriptMap = hashMap< I64, Script * >
 
- Static Protected Member Functions inherited from Divide::Script
static void handleOutput (std::string_view msg)
 
- Protected Attributes inherited from Divide::Script
chaiscript::ChaiScript_uptr _script
 
std::string _scriptSource
 
FileNameAndPath _scriptFile
 
FileType _scriptFileType
 
vector< ResourcePath_usedAtoms
 
- Protected Attributes inherited from Divide::GUIDWrapper
const I64 _guid
 
- Static Protected Attributes inherited from Divide::Script
static I64 s_scriptFileWatcher = -1
 
static ScriptMap s_scripts
 
static bool s_scriptsReady = false
 

Detailed Description

Definition at line 49 of file GameScript.h.

Constructor & Destructor Documentation

◆ GameScript() [1/2]

Divide::GameScript::GameScript ( const string sourceCode,
FrameListenerManager parent,
U32  callOrder 
)
explicit

Definition at line 10 of file GameScript.cpp.

◆ GameScript() [2/2]

Divide::GameScript::GameScript ( const string scriptPath,
FileType  fileType,
FrameListenerManager parent,
U32  callOrder 
)
explicit

Definition at line 18 of file GameScript.cpp.

Member Function Documentation

◆ addGameInstance()

void Divide::GameScript::addGameInstance ( ) const
private

Definition at line 26 of file GameScript.cpp.

◆ frameEnded()

bool Divide::GameScript::frameEnded ( const FrameEvent evt)
overrideprotectedvirtual

frameEnded is called after the buffers have been swapped

Reimplemented from Divide::FrameListener.

Definition at line 63 of file GameScript.cpp.

◆ framePostRender()

bool Divide::GameScript::framePostRender ( const FrameEvent evt)
overrideprotectedvirtual

framePostRenderStarted is called after the main rendering calls are finished (e.g. use this for debug calls)

Reimplemented from Divide::FrameListener.

Definition at line 58 of file GameScript.cpp.

◆ framePreRender()

bool Divide::GameScript::framePreRender ( const FrameEvent evt)
overrideprotectedvirtual

framePreRenderStarted is called when we need to start processing the visual aspect of a scene

Reimplemented from Divide::FrameListener.

Definition at line 50 of file GameScript.cpp.

◆ frameRenderingQueued()

bool Divide::GameScript::frameRenderingQueued ( const FrameEvent evt)
overrideprotectedvirtual

frameRendering Queued is called after all the frame setup/rendering but before the call to SwapBuffers

Reimplemented from Divide::FrameListener.

Definition at line 54 of file GameScript.cpp.

◆ frameStarted()

bool Divide::GameScript::frameStarted ( const FrameEvent evt)
overrideprotectedvirtual

Adapter patern instead of pure interface for the same reason as the Ogre boys pointed out: Implement what you need without filling classes with dummy functions frameStarted is calld at the beggining of a new frame before processing the logic aspect of a scene

Reimplemented from Divide::FrameListener.

Definition at line 46 of file GameScript.cpp.


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