Colobot
|
Default implementation of CBot external call, using compilation and runtime functions. More...
#include <src/CBot/CBotExternalCall.h>
Public Types | |
typedef bool(* | RuntimeFunc )(CBotVar *args, CBotVar *result, int &exception, void *user) |
typedef CBotTypResult(* | CompileFunc )(CBotVar *&args, void *user) |
Public Member Functions | |
CBotExternalCallDefault (RuntimeFunc rExec, CompileFunc rCompile) | |
Constructor. More... | |
virtual | ~CBotExternalCallDefault () |
Destructor. More... | |
virtual CBotTypResult | Compile (CBotVar *thisVar, CBotVar *args, void *user) override |
Compile the function. More... | |
virtual bool | Run (CBotVar *thisVar, CBotStack *pStack) override |
Execute the function. More... | |
![]() | |
CBotExternalCall () | |
Constructor. More... | |
virtual | ~CBotExternalCall () |
Destructor. More... | |
Default implementation of CBot external call, using compilation and runtime functions.
CBot::CBotExternalCallDefault::CBotExternalCallDefault | ( | RuntimeFunc | rExec, |
CompileFunc | rCompile | ||
) |
Constructor.
rExec | Runtime function |
rCompile | Compilation function |
|
virtual |
Destructor.
|
overridevirtual |
Compile the function.
thisVar | "this" variable for class calls, nullptr for normal calls |
args | Arguments (only types!) passed to the function |
user | User pointer provided to CBotProgram::Compile() |
Implements CBot::CBotExternalCall.
Execute the function.
thisVar | "this" variable for class calls, nullptr for normal calls |
pStack | Stack to execute the function on |
Implements CBot::CBotExternalCall.