1#ifndef MXTICKLEMANAGER_H
2#define MXTICKLEMANAGER_H
151#define TICKLE_MANAGER_NOT_FOUND 0x80000000
[AI] Base virtual class for all Mindscape engine (Mx) objects.
[AI] Associates an MxCore object with tickle timing/interval information.
MxCore * GetClient() const
[AI] Returns the managed MxCore object.
MxTime GetLastUpdateTime() const
[AI] Returns the timestamp of the last tickle.
void SetFlags(MxU16 p_flags)
[AI] Sets the flags for this client (e.g., destruction flag).
MxTime GetTickleInterval() const
[AI] Returns the tickle interval in milliseconds.
MxU16 GetFlags() const
[AI] Returns the internal flags for this tickle client.
void SetLastUpdateTime(MxTime p_lastUpdateTime)
[AI] Sets the last tickle time (updates the timestamp).
void SetTickleInterval(MxTime p_interval)
[AI] Sets the tickle interval for this client.
[AI] Manages ticking ("tickling") a set of MxCore objects at specified intervals.
virtual void UnregisterClient(MxCore *p_client)
[AI] Unregisters (marks for destruction) a previously registered client.
virtual void SetClientTickleInterval(MxCore *p_client, MxTime p_interval)
[AI] Changes the tickle interval of an already registered client.
MxResult Tickle() override
[AI] Iterates over registered clients and invokes their Tickle() methods as needed.
virtual MxTime GetClientTickleInterval(MxCore *p_client)
[AI] Looks up the tickle interval of a registered client.
virtual void RegisterClient(MxCore *p_client, MxTime p_interval)
[AI] Registers an MxCore object to receive periodic tickles.
~MxTickleManager() override
[AI] Destroys the tickle manager, unregistering and freeing all clients.
MxTickleManager()
[AI] Constructs an empty tickle manager.
list< MxTickleClient * > MxTickleClientPtrList
[AI] List type for holding multiple MxTickleClient pointers (the tickle registry)....
[AI] STL compatibility layer header to provide consistent STL (Standard Template Library) types and a...