22 bool GetAll(TArray<UBaseEvent*>& OutEvents);
27 if (NewEvent && NewEvent->
Lock())
76 template <
typename TEventType>
77 FUNCTION_NON_NULL_RETURN_START
78 static TEventType*
NewEvent(APlayerController* Executor =
nullptr)
79 FUNCTION_NON_NULL_RETURN_END
81 static_assert(std::is_base_of<UBaseEvent, TEventType>::value,
"TEventType should derive from UBaseEvent");
83 TEventType* Event = NewObject<TEventType>();
84 if (Events().Add(Event))
86 Event->Initialize(Executor);
99 template <
typename TEventType>
100 FUNCTION_NON_NULL_RETURN_START
101 static TEventType*
NewEvent(
UObject* Outer, UClass* TargetEventClass, APlayerController* Executor =
nullptr)
102 FUNCTION_NON_NULL_RETURN_END
104 static_assert(std::is_base_of<UBaseEvent, TEventType>::value,
"TEventType should derive from UBaseEvent");
106 TEventType* Event = NewObject<TEventType>(Outer, TargetEventClass);
107 if (Events().Add(Event))
109 Event->Initialize(Executor);
124 template <
typename TEventType,
typename... TInitializeArgs>
125 FUNCTION_NON_NULL_RETURN_START
126 static TEventType*
NewEvent(
UObject* Outer, UClass* TargetEventClass, APlayerController* Executor, TInitializeArgs... Arguments)
127 FUNCTION_NON_NULL_RETURN_END
129 static_assert(std::is_base_of<UBaseEvent, TEventType>::value,
"TEventType should derive from UBaseEvent");
131 TEventType* Event = NewObject<TEventType>(Outer, TargetEventClass);
132 if (Events().Add(Event))
134 Event->Initialize(Executor, Arguments...);
148 template <
typename TEventType,
typename... TInitializeArgs>
149 FUNCTION_NON_NULL_RETURN_START
150 static TEventType*
NewEvent(
UObject* Outer, UClass* TargetEventClass, TInitializeArgs... Arguments)
151 FUNCTION_NON_NULL_RETURN_END
153 static_assert(std::is_base_of<UBaseEvent, TEventType>::value,
"TEventType should derive from UBaseEvent");
155 TEventType* Event = NewObject<TEventType>(Outer, TargetEventClass);
156 if (Events().Add(Event))
158 Event->Initialize(
nullptr, Arguments...);
171 template <
typename TEventType,
typename... TInitializeArgs>
172 FUNCTION_NON_NULL_RETURN_START
173 static TEventType*
NewEvent(APlayerController* Executor, TInitializeArgs... Arguments)
174 FUNCTION_NON_NULL_RETURN_END
176 static_assert(std::is_base_of<UBaseEvent, TEventType>::value,
"TEventType should derive from UBaseEvent");
178 TEventType* Event = NewObject<TEventType>();
179 if (Events().Add(Event))
181 Event->Initialize(Executor, Arguments...);
EventContainer(EventContainer &Other)=delete
TArray< UBaseEvent * > SecondBuffer
bool GetAll(TArray< UBaseEvent * > &OutEvents)
void operator=(const EventContainer &)=delete
FORCEINLINE bool Add(UBaseEvent *NewEvent)
FORCEINLINE TArray< UBaseEvent * > & GetBuffer()
TArray< UBaseEvent * > FirstBuffer
provides functionality for creating and managing events. It is a friend class of UExperienceManager a...
EventLogService(EventLogService &Other)=delete
static FUNCTION_NON_NULL_RETURN_START TEventType * NewEvent(UObject *Outer, UClass *TargetEventClass, APlayerController *Executor=nullptr) FUNCTION_NON_NULL_RETURN_END
Creates a new event of the specified type with a specified outer object, target event class and optio...
static FUNCTION_NON_NULL_RETURN_START TEventType * NewEvent(APlayerController *Executor, TInitializeArgs... Arguments) FUNCTION_NON_NULL_RETURN_END
Creates a new event of the specified type.
static FUNCTION_NON_NULL_RETURN_START TEventType * NewEvent(UObject *Outer, UClass *TargetEventClass, APlayerController *Executor, TInitializeArgs... Arguments) FUNCTION_NON_NULL_RETURN_END
Creates a new event of the specified type with a specified outer object, target event class,...
void operator=(const EventLogService &)=delete
static FUNCTION_NON_NULL_RETURN_START TEventType * NewEvent(UObject *Outer, UClass *TargetEventClass, TInitializeArgs... Arguments) FUNCTION_NON_NULL_RETURN_END
Creates a new event of the specified type with a specified outer object and target event class.
static FUNCTION_NON_NULL_RETURN_START TEventType * NewEvent(APlayerController *Executor=nullptr) FUNCTION_NON_NULL_RETURN_END
Creates a new event of the specified type.
The UBaseEvent class serves as the base class for all events for our event-managers system....
virtual bool Lock() final
The UExperienceManager serves as the manager for handling the overall game experience....