diff options
author | truebrain <truebrain@openttd.org> | 2011-11-29 23:21:24 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-11-29 23:21:24 +0000 |
commit | 75c4bd280a720592ec4df26efbedd9df5baa2d8f (patch) | |
tree | 7e4a3248a93b55f9add46b9935bf3e1d8da93c84 /src/ai/ai_instance.hpp | |
parent | bbd9facb44dc09ded5500918319b770c63c0a981 (diff) | |
download | openttd-75c4bd280a720592ec4df26efbedd9df5baa2d8f.tar.xz |
(svn r23359) -Codechange: move AI_VMSuspend to Script_Suspend (and to its own file)
Diffstat (limited to 'src/ai/ai_instance.hpp')
-rw-r--r-- | src/ai/ai_instance.hpp | 58 |
1 files changed, 11 insertions, 47 deletions
diff --git a/src/ai/ai_instance.hpp b/src/ai/ai_instance.hpp index 63da6f967..60caaefd2 100644 --- a/src/ai/ai_instance.hpp +++ b/src/ai/ai_instance.hpp @@ -13,43 +13,7 @@ #define AI_INSTANCE_HPP #include <squirrel.h> - -/** - * The callback function when an AI suspends. - */ -typedef void (AISuspendCallbackProc)(class AIInstance *instance); - -/** - * A throw-class that is given when the VM wants to suspend. - */ -class AI_VMSuspend { -public: - /** - * Create the suspend exception. - * @param time The amount of ticks to suspend. - * @param callback The callback to call when the AI may resume again. - */ - AI_VMSuspend(int time, AISuspendCallbackProc *callback) : - time(time), - callback(callback) - {} - - /** - * Get the amount of ticks the AI should be suspended. - * @return The amount of AI ticks to suspend the AI. - */ - int GetSuspendTime() { return time; } - - /** - * Get the callback to call when the AI can run again. - * @return The callback function to run. - */ - AISuspendCallbackProc *GetSuspendCallback() { return callback; } - -private: - int time; ///< Amount of ticks to suspend the AI. - AISuspendCallbackProc *callback; ///< Callback function to call when the AI can run again. -}; +#include "../script/script_suspend.hpp" /** Runtime information about an AI like a pointer to the squirrel vm and the current state. */ class AIInstance { @@ -178,16 +142,16 @@ public: void InsertEvent(class ScriptEvent *event); private: - class ScriptController *controller; ///< The AI main class. - class ScriptStorage *storage; ///< Some global information for each running AI. - class Squirrel *engine; ///< A wrapper around the squirrel vm. - SQObject *instance; ///< Squirrel-pointer to the AI main class. - - bool is_started; ///< Is the AIs constructor executed? - bool is_dead; ///< True if the AI has been stopped. - bool is_save_data_on_stack; ///< Is the save data still on the squirrel stack? - int suspend; ///< The amount of ticks to suspend this AI before it's allowed to continue. - AISuspendCallbackProc *callback; ///< Callback that should be called in the next tick the AI runs. + class ScriptController *controller; ///< The AI main class. + class ScriptStorage *storage; ///< Some global information for each running AI. + class Squirrel *engine; ///< A wrapper around the squirrel vm. + SQObject *instance; ///< Squirrel-pointer to the AI main class. + + bool is_started; ///< Is the AIs constructor executed? + bool is_dead; ///< True if the AI has been stopped. + bool is_save_data_on_stack; ///< Is the save data still on the squirrel stack? + int suspend; ///< The amount of ticks to suspend this AI before it's allowed to continue. + Script_SuspendCallbackProc *callback; ///< Callback that should be called in the next tick the AI runs. /** * Register all API functions to the VM. |