libscratchcpp
A library for C++ based Scratch project players
Loading...
Searching...
No Matches
libscratchcpp::ExecutableCode Class Referenceabstract

The ExecutableCode class represents the code of a compiled Scratch script. More...

#include <scratchcpp/executablecode.h>

Public Member Functions

virtual ~ExecutableCode ()
 
virtual void run (ExecutionContext *context)=0
 
virtual ValueData runReporter (ExecutionContext *context)=0
 
virtual bool runPredicate (ExecutionContext *context)=0
 
virtual void kill (ExecutionContext *context)=0
 
virtual void reset (ExecutionContext *context)=0
 
virtual bool isFinished (ExecutionContext *context) const =0
 
virtual std::shared_ptr< ExecutionContextcreateExecutionContext (Thread *thread) const =0
 

Detailed Description

The ExecutableCode class represents the code of a compiled Scratch script.

Constructor & Destructor Documentation

◆ ~ExecutableCode()

virtual libscratchcpp::ExecutableCode::~ExecutableCode ( )
inlinevirtual

Member Function Documentation

◆ createExecutionContext()

virtual std::shared_ptr< ExecutionContext > libscratchcpp::ExecutableCode::createExecutionContext ( Thread * thread) const
pure virtual

Creates an execution context for the given Target.

◆ isFinished()

virtual bool libscratchcpp::ExecutableCode::isFinished ( ExecutionContext * context) const
pure virtual

Returns true if the code is stopped or finished.

◆ kill()

virtual void libscratchcpp::ExecutableCode::kill ( ExecutionContext * context)
pure virtual

Stops the code. isFinished() will return true.

◆ reset()

virtual void libscratchcpp::ExecutableCode::reset ( ExecutionContext * context)
pure virtual

Resets the code to run from the start.

◆ run()

virtual void libscratchcpp::ExecutableCode::run ( ExecutionContext * context)
pure virtual

Runs the script until it finishes or yields.

◆ runPredicate()

virtual bool libscratchcpp::ExecutableCode::runPredicate ( ExecutionContext * context)
pure virtual

Runs the hat predicate and returns its return value.

◆ runReporter()

virtual ValueData libscratchcpp::ExecutableCode::runReporter ( ExecutionContext * context)
pure virtual

Runs the reporter and returns its return value.

Note
Make sure to call value_free() to free the value.

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