3#include <Core/CoreDLL.h>
5#include <Core/Scripting/ScriptRTTI.h>
54 using StorageType = plUInt8;
68 static PL_ALWAYS_INLINE Result Completed() {
return {State::Completed}; }
69 static PL_ALWAYS_INLINE Result Failed() {
return {State::Failed}; }
76 virtual void Stop() {}
77 virtual Result Update(
plTime deltaTimeSinceLastUpdate) = 0;
97template <
typename Derived,
class... Args>
101 template <std::size_t... I>
109 StartImpl(arguments, std::make_index_sequence<
sizeof...(Args)>{});
119 using StorageType = plUInt8;
The base class for a property that represents a function.
Definition AbstractProperty.h:535
The base class for all message handlers that a type provides.
Definition MessageHandler.h:12
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
Base class for all message types. Each message type has it's own id which is used to dispatch message...
Definition Message.h:22
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
Definition RefCounted.h:7
A function property that creates an instance of the given coroutine type and starts it immediately.
Definition ScriptCoroutine.h:151
virtual plUInt32 GetArgumentCount() const override
Returns the number of arguments.
Definition ScriptCoroutine.h:159
virtual const plRTTI * GetArgumentType(plUInt32 uiParamIndex) const override
Returns the type of the given argument.
Definition ScriptCoroutine.h:160
virtual plFunctionType::Enum GetFunctionType() const override
Returns the type of function, see plFunctionPropertyType::Enum.
Definition ScriptCoroutine.h:156
virtual plBitflags< plPropertyFlags > GetArgumentFlags(plUInt32 uiParamIndex) const override
Returns the property flags of the given argument.
Definition ScriptCoroutine.h:161
virtual plBitflags< plPropertyFlags > GetReturnFlags() const override
Returns property flags of the return value.
Definition ScriptCoroutine.h:158
virtual const plRTTI * GetReturnType() const override
Returns the type of the return value.
Definition ScriptCoroutine.h:157
Base class of script coroutines.
Definition ScriptCoroutine.h:35
A message handler that creates an instance of the given coroutine type and starts it immediately.
Definition ScriptCoroutine.h:172
A coroutine type that stores a custom allocator.
Definition ScriptCoroutine.h:139
Definition ScriptRTTI.h:38
Definition ScriptRTTI.h:66
Definition ScriptRTTI.h:54
Definition ScriptWorldModule.h:13
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Base class of coroutines which are implemented in C++ to allow automatic unpacking of the arguments f...
Definition ScriptCoroutine.h:99
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Use getArgument<N, Args...>::Type to get the type of the Nth argument in Args.
Definition AbstractProperty.h:383
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Enum
Definition AbstractProperty.h:525
@ Member
A normal member function, a valid instance pointer must be provided to call.
Definition AbstractProperty.h:526
Helper struct to calculate the Hash of different types.
Definition HashingUtils.h:75
Definition ScriptCoroutine.h:53
Definition ScriptCoroutine.h:51
Mode that decides what should happen if a new coroutine is created while there is already another cor...
Definition ScriptCoroutine.h:118
Enum
Definition ScriptCoroutine.h:122
@ DontCreateNew
Don't create a new coroutine if there is already one running with the same name.
Definition ScriptCoroutine.h:124
@ AllowOverlap
Allow multiple overlapping coroutines with the same name.
Definition ScriptCoroutine.h:125
@ StopOther
Stop the other coroutine before creating a new one with the same name.
Definition ScriptCoroutine.h:123
A handle to a script coroutine which can be used to determine whether a coroutine is still running ev...
Definition ScriptCoroutine.h:16
Definition ScriptRTTI.h:48
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
PL_ALWAYS_INLINE static constexpr plTime MakeZero()
Creates an instance of plTime that was initialized with zero.
Definition Time.h:42
Used to implicitly retrieve any value from an plVariant to be used as a function argument using the a...
Definition VariantAdapter.h:211