*/
-#ifndef CULL_LIST_H
-#define CULL_LIST_H
+#pragma once
/**
* The CullList class is used to delete objects at the end of the main loop to
void Apply();
};
+/** Represents an action which is executable by an action list */
+class CoreExport ActionBase : public classbase
+{
+ public:
+ /** Executes this action. */
+ virtual void Call() = 0;
+};
+
class CoreExport ActionList
{
- std::vector<HandlerBase0<void>*> list;
+ std::vector<ActionBase*> list;
public:
/** Adds an item to the list
*/
- void AddAction(HandlerBase0<void>* item) { list.push_back(item); }
+ void AddAction(ActionBase* item) { list.push_back(item); }
/** Runs the items
*/
void Run();
};
-
-#endif
-