HoverRace  2.0
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
HoverRace::Client::HoverScript::Console Class Referenceabstract

Base class for debug consoles. More...

#include <Console.h>

+ Inheritance diagram for HoverRace::Client::HoverScript::Console:

Classes

class  LogStream
 
class  LogStreamBuf
 

Public Types

enum  InputState { InputState::COMMAND, InputState::CONTINUE }
 

Public Member Functions

 Console (Script::Core &scripting)
 
virtual ~Console ()
 
virtual void Advance (Util::OS::timestamp_t tick)=0
 
virtual void Clear ()=0
 Clear the console. More...
 
InputState GetInputState () const
 
void SubmitChunk (const std::string &s)
 Submit a chunk to the script engine. More...
 
- Public Member Functions inherited from HoverRace::Script::Env
 Env (Core &scripting)
 Constructor. More...
 
 Env (const Env &)=delete
 
virtual ~Env ()
 
Envoperator= (const Env &)=delete
 
bool RunScript (const Util::OS::path_t &filename)
 Execute a script from a file. More...
 
- Public Member Functions inherited from HoverRace::Script::Help::HelpHandler
virtual void HelpClass (const Class &cls)=0
 
virtual void HelpMethod (const Class &cls, const Method &method)=0
 

Protected Member Functions

void InitEnv () override
 Initialize the environment in which scripts will run in. More...
 
virtual void LogError (const std::string &s)=0
 
virtual void LogInfo (const std::string &s)=0
 
void SetInputState (InputState newState)
 
- Protected Member Functions inherited from HoverRace::Script::Env
void CopyGlobals ()
 Copy the global environment into the current table at the top of the stack. More...
 
template<class ReturnPolicy = Core::PrintReturn>
int Execute (const Core::Chunk &chunk, ReturnPolicy rp=ReturnPolicy())
 Execute a chunk of code in the current environment. More...
 
CoreGetScripting () const
 
lua_State * GetState () const
 
void LogScriptError (const Script::ScriptExn &ex)
 
void PushEnv ()
 Push the environment onto the stack. More...
 
void SetHelpHandler (Help::HelpHandler *helpHandler)
 

Private Types

using SUPER = Script::Env
 

Static Private Member Functions

static int LClear (lua_State *state)
 

Private Attributes

std::string chunk
 
InputState inputState
 
Script::Core::OutHandle outHandle
 

Additional Inherited Members

- Static Protected Member Functions inherited from HoverRace::Script::Env
static Core::Chunk LoadChunkFromFile (const Util::OS::path_t &filename)
 Load a chunk from a file. More...
 

Detailed Description

Base class for debug consoles.

Author
Michael Imamura

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
COMMAND 
CONTINUE 

Constructor & Destructor Documentation

HoverRace::Client::HoverScript::Console::Console ( Script::Core scripting)
HoverRace::Client::HoverScript::Console::~Console ( )
virtual

Member Function Documentation

virtual void HoverRace::Client::HoverScript::Console::Advance ( Util::OS::timestamp_t  tick)
pure virtual
virtual void HoverRace::Client::HoverScript::Console::Clear ( )
pure virtual

Clear the console.

Implemented in HoverRace::Client::HoverScript::SysConsole.

Console::InputState HoverRace::Client::HoverScript::Console::GetInputState ( ) const
void HoverRace::Client::HoverScript::Console::InitEnv ( )
overrideprotectedvirtual

Initialize the environment in which scripts will run in.

Upon entry, the Lua stack will have at least one entry, the table which represents the environment. Implementing functions will fill this table with the globals which will be available to the functions which are run in this environment. Upon return, this same table must be at the top of the stack.

Implements HoverRace::Script::Env.

Reimplemented in HoverRace::Client::HoverScript::SysConsole.

int HoverRace::Client::HoverScript::Console::LClear ( lua_State *  state)
staticprivate
virtual void HoverRace::Client::HoverScript::Console::LogError ( const std::string &  s)
protectedpure virtual
virtual void HoverRace::Client::HoverScript::Console::LogInfo ( const std::string &  s)
protectedpure virtual
void HoverRace::Client::HoverScript::Console::SetInputState ( InputState  newState)
protected
void HoverRace::Client::HoverScript::Console::SubmitChunk ( const std::string &  s)

Submit a chunk to the script engine.

Parameters
sThe chunk.

Member Data Documentation

std::string HoverRace::Client::HoverScript::Console::chunk
private
InputState HoverRace::Client::HoverScript::Console::inputState
private
Script::Core::OutHandle HoverRace::Client::HoverScript::Console::outHandle
private

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