11 #include "GDCore/Events/InstructionsList.h"
12 #include "GDCore/Events/EventVisitor.h"
13 #include "GDCore/Project/ProjectScopedContainers.h"
14 #include "GDCore/String.h"
21 class ObjectsContainer;
23 class ParameterMetadata;
63 virtual bool DoVisitEvent(
gd::BaseEvent& event) {
return false; };
73 virtual bool DoVisitLinkEvent(
gd::LinkEvent& event) {
return false; };
79 bool areConditions){};
120 AbstractArbitraryEventsWorker::VisitEventList(events);
139 : currentProjectScopedContainers(
nullptr){};
148 currentProjectScopedContainers = &projectScopedContainers;
149 AbstractArbitraryEventsWorker::VisitEventList(events);
156 return *currentProjectScopedContainers;
161 return currentProjectScopedContainers->GetObjectsContainersList();
185 void StopAnyEventIteration()
override;
186 virtual void VisitEvent(
const gd::BaseEvent& event)
override;
191 void VisitLinkEvent(
const gd::LinkEvent& linkEvent)
override;
194 void VisitInstruction(
const gd::Instruction& instruction,
bool isCondition);
212 virtual void DoVisitLinkEvent(
const gd::LinkEvent& linkEvent) {};
218 bool areConditions){};
224 bool isCondition) {};
229 virtual void DoVisitEventExpression(
const gd::Expression& expression,
233 bool shouldStopIteration;
254 AbstractReadOnlyArbitraryEventsWorker::VisitEventList(events);
273 : currentProjectScopedContainers(
nullptr){};
282 currentProjectScopedContainers = &projectScopedContainers;
283 AbstractReadOnlyArbitraryEventsWorker::VisitEventList(events);
290 return *currentProjectScopedContainers;
AbstractArbitraryEventsWorker is a base abstract class used to browse events (and instructions) and d...
Definition: ArbitraryEventsWorker.h:37
ReadOnlyArbitraryEventsWorker is an abstract class used to browse events (and instructions)....
Definition: ArbitraryEventsWorker.h:179
ArbitraryEventsWorker is an abstract class used to browse events (and instructions) and do some work ...
Definition: ArbitraryEventsWorker.h:111
void Launch(gd::EventsList &events)
Launch the worker on the specified events list.
Definition: ArbitraryEventsWorker.h:119
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:136
void Launch(gd::EventsList &events, const gd::ProjectScopedContainers &projectScopedContainers)
Launch the worker on the specified events list, giving the objects container on which the events are ...
Definition: ArbitraryEventsWorker.h:146
Base class defining an event.
Definition: Event.h:43
Visitor of any kind of event.
Definition: EventVisitor.h:26
A list of events.
Definition: EventsList.h:32
Class representing an expression used as a parameter of a gd::Instruction. This class is nothing more...
Definition: Expression.h:30
An instruction is a member of an event: It can be a condition or an action.
Definition: Instruction.h:30
Definition: InstructionsList.h:25
A link pointing to external events (or events of another layout) that should be included and run inst...
Definition: LinkEvent.h:17
A list of objects containers, useful for accessing objects in a scoped way, along with methods to acc...
Definition: ObjectsContainersList.h:29
Holds references to variables, objects, properties and other containers.
Definition: ProjectScopedContainers.h:34
ReadOnlyArbitraryEventsWorker is an abstract class used to browse events (and instructions)....
Definition: ArbitraryEventsWorker.h:245
void Launch(const gd::EventsList &events)
Launch the worker on the specified events list.
Definition: ArbitraryEventsWorker.h:253
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:270
void Launch(const gd::EventsList &events, const gd::ProjectScopedContainers &projectScopedContainers)
Launch the worker on the specified events list, giving the objects container on which the events are ...
Definition: ArbitraryEventsWorker.h:280
Visitor of any kind of event.
Definition: EventVisitor.h:54
Definition: CommonTools.h:24