#pragma once #include "Tool/RefPtr.h" #include "Tool/RefObject.h" #include #include class Actor_base : public RefObject { public: /// \~chinese /// @brief 角色更新回调函数 typedef std::function UpdateCallback; public: Actor_base(/* args */) = default; virtual ~Actor_base() = default; virtual void Init(); virtual void HandleEvents(SDL_Event *e); virtual void Update(float deltaTime); virtual void Render(float deltaTime); virtual void Clear(); /// \~chinese /// @brief 设置更新时的回调函数 void SetCallbackOnUpdate(const UpdateCallback &cb); private: /* data */ UpdateCallback cb_update_; // 更新时的回调函数 };