63 const vector<EngineMiniScript::ScriptVariable>&
arguments
122 virtual void handleHIDEvents(vector<GUIMouseEvent>& mouseEvents, vector<GUIKeyboardEvent>& keyEvents);
143 inline void playSound(
const string&
id,
int delay = 0,
float gain = 1.0,
float pitch = 1.0,
bool ignoreIfPlaying =
false) {
148 Time::getCurrentMillis(),
166 inline void playSound(
const string&
id,
const Vector3& position,
int delay = 0,
float gain = 1.0,
float pitch = 1.0,
bool ignoreIfPlaying =
false) {
171 Time::getCurrentMillis(),
206 return signals.empty() ==
false;
214 inline void addSignal(
const string& signal,
const vector<EngineMiniScript::ScriptVariable>& arguments) {
226 if (
signals.empty() ==
true)
return string();
235 if (
signals.empty() ==
true)
return 0;
236 return signals[0].arguments.size();
244 if (
signals.empty() ==
true)
return EngineMiniScript::ScriptVariable();
245 if (idx >=
signals[0].arguments.size())
return EngineMiniScript::ScriptVariable();
246 return signals[0].arguments[idx];
253 if (
signals.empty() ==
true)
return;
260 virtual void logState(
int indent = 0);
void playSound(const string &id, int delay=0, float gain=1.0, float pitch=1.0, bool ignoreIfPlaying=false)
TODO: updated sounds that are already playing Play sound.
const vector< QueuedSound > & getQueuedSounds()
const string getSignalName()
Get signal name from first signal in signal queue.
void setQueuedSounds(const vector< QueuedSound > &queuedSounds)
Set queued sounds.
virtual void onLogicAdded()
On logic added.
virtual ~Logic()
Destructor.
bool hasSignal()
Returns if a signal is in signal queue.
int getSignalArgumentCount()
Get signal argument count.
void playSound(const string &id, const Vector3 &position, int delay=0, float gain=1.0, float pitch=1.0, bool ignoreIfPlaying=false)
TODO: updated sounds that are already playing Play sound with position.
virtual void updateEngine()=0
Update engine.
void addSignal(const string &signal, const vector< EngineMiniScript::ScriptVariable > &arguments)
Add signal.
Logic(Context *context, const string &id, bool handlingHIDInput)
Public constructor.
virtual void updateLogic()=0
Update logic.
void removeSignal()
Remove first signal from signal queue.
bool isHandlingHIDInput()
void clearQueuedSounds()
Clear queued sounds.
vector< QueuedSound > queuedSounds
EngineMiniScript::ScriptVariable getSignalArgument(int idx)
Get signal argument.
virtual void onLogicsProcessed()
On logics processed.
virtual void logState(int indent=0)
Log state.
virtual void handleHIDEvents(vector< GUIMouseEvent > &mouseEvents, vector< GUIKeyboardEvent > &keyEvents)
Handle HID events.
vector< SignalStruct > signals
Dynamic physics world class.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
QueuedSound(const string &id, bool attachedToLogic, const Vector3 &position, int64_t timeIssuedAt, int timeDelay, float gain, float pitch, bool ignoreIfPlaying)
vector< EngineMiniScript::ScriptVariable > arguments
SignalStruct(const string &signal, const vector< EngineMiniScript::ScriptVariable > &arguments)
#define FORBID_CLASS_COPY(CLASS)