#pragma once #include "RetroTypes.hpp" #include namespace urde { enum class EStateMsg { One = 1, Two = 2, Twenty = 20 }; class CStateManager; class CAi; typedef void (CAi::*CAiStateFunc)(CStateManager&, EStateMsg, float); typedef bool (CAi::*CAiTriggerFunc)(CStateManager&, float); class CAiFuncMap { static const std::vector gkStateNames; std::unordered_map x0_stateFuncs; std::unordered_map x10_triggerFuncs; public: CAiFuncMap(); CAiStateFunc GetStateFunc(const char*); CAiTriggerFunc GetTriggerFunc(const char*); }; }