![]() |
SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
|
Public Member Functions | |
| event_t (sim_t &s, actor_t *a=nullptr) | |
| event_t (actor_t &a) | |
| event_t (sim_t &s, timespan_t delta_time) | |
| event_t (actor_t &a, timespan_t delta_time) | |
| timespan_t | occurs () const |
| timespan_t | remains () const |
| void | schedule (timespan_t delta_time) |
| Schedule event on the event manager. | |
| void | reschedule (timespan_t delta_time) |
| sim_t & | sim () |
| const sim_t & | sim () const |
| rng::rng_t & | rng () |
| virtual void | execute ()=0 |
| virtual const char * | name () const |
Static Public Member Functions | |
| template<class T > | |
| static void | cancel (T &e) |
| static void | cancel (event_t *&e) |
Public Attributes | |
| sim_t & | _sim |
| event_t * | next |
| timespan_t | time |
| timespan_t | reschedule_time |
| unsigned | id |
| bool | canceled |
| bool | recycled |
| bool | scheduled |
Static Protected Member Functions | |
| static void * | operator new (std::size_t size, sim_t &sim) |
| Placement-new operator for creating events. Do not use in user-code. | |
| static void | operator delete (void *, sim_t &) |
| static void | operator delete (void *) |
| static void * | operator new (std::size_t)=delete |
Friends | |
| void | sc_format_to (const event_t &, fmt::format_context::iterator) |
| template<typename Event , typename... Args> | |
| Event * | make_event (sim_t &sim, Args &&... args) |
| Creates a event. More... | |
|
friend |
Creates a event.
This function should be used as the one and only way to create new events. It is used to hide internal placement-new mechanism for efficient event allocation, and also makes sure that any event created is properly added to the event manager (scheduled).