TaskManager => TaskScheduler, ActionManager => ActionScheduler

This commit is contained in:
Nomango 2020-05-21 00:06:47 +08:00
parent e68bb9d94d
commit 6a8b2f528a
11 changed files with 55 additions and 55 deletions

View File

@ -5,7 +5,7 @@
<ClInclude Include="..\..\src\kiwano\2d\action\ActionDelay.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionDelay.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\ActionGroup.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionGroup.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\ActionHelper.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionHelper.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\ActionManager.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionScheduler.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\ActionWalk.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionWalk.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\ActionTween.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\ActionTween.h" />
<ClInclude Include="..\..\src\kiwano\2d\action\Animation.h" /> <ClInclude Include="..\..\src\kiwano\2d\action\Animation.h" />
@ -99,7 +99,7 @@
<ClInclude Include="..\..\src\kiwano\utils\LocalStorage.h" /> <ClInclude Include="..\..\src\kiwano\utils\LocalStorage.h" />
<ClInclude Include="..\..\src\kiwano\utils\ResourceCache.h" /> <ClInclude Include="..\..\src\kiwano\utils\ResourceCache.h" />
<ClInclude Include="..\..\src\kiwano\utils\Task.h" /> <ClInclude Include="..\..\src\kiwano\utils\Task.h" />
<ClInclude Include="..\..\src\kiwano\utils\TaskManager.h" /> <ClInclude Include="..\..\src\kiwano\utils\TaskScheduler.h" />
<ClInclude Include="..\..\src\kiwano\utils\Ticker.h" /> <ClInclude Include="..\..\src\kiwano\utils\Ticker.h" />
<ClInclude Include="..\..\src\kiwano\utils\Timer.h" /> <ClInclude Include="..\..\src\kiwano\utils\Timer.h" />
<ClInclude Include="..\..\src\kiwano\utils\UserData.h" /> <ClInclude Include="..\..\src\kiwano\utils\UserData.h" />
@ -109,7 +109,7 @@
<ClCompile Include="..\..\src\kiwano\2d\action\Action.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\Action.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\ActionDelay.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\ActionDelay.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\ActionGroup.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\ActionGroup.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\ActionManager.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\ActionScheduler.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\ActionWalk.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\ActionWalk.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\ActionTween.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\ActionTween.cpp" />
<ClCompile Include="..\..\src\kiwano\2d\action\Animation.cpp" /> <ClCompile Include="..\..\src\kiwano\2d\action\Animation.cpp" />
@ -175,7 +175,7 @@
<ClCompile Include="..\..\src\kiwano\utils\LocalStorage.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\LocalStorage.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\ResourceCache.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\ResourceCache.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\Task.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\Task.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\TaskManager.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\TaskScheduler.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\Ticker.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\Ticker.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\Timer.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\Timer.cpp" />
<ClCompile Include="..\..\src\kiwano\utils\UserData.cpp" /> <ClCompile Include="..\..\src\kiwano\utils\UserData.cpp" />

View File

@ -90,9 +90,6 @@
<ClInclude Include="..\..\src\kiwano\2d\action\ActionTween.h"> <ClInclude Include="..\..\src\kiwano\2d\action\ActionTween.h">
<Filter>2d\action</Filter> <Filter>2d\action</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\kiwano\2d\action\ActionManager.h">
<Filter>2d\action</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kiwano\2d\action\Animation.h"> <ClInclude Include="..\..\src\kiwano\2d\action\Animation.h">
<Filter>2d\action</Filter> <Filter>2d\action</Filter>
</ClInclude> </ClInclude>
@ -324,9 +321,6 @@
<ClInclude Include="..\..\src\kiwano\utils\Task.h"> <ClInclude Include="..\..\src\kiwano\utils\Task.h">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\kiwano\utils\TaskManager.h">
<Filter>utils</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kiwano\utils\Ticker.h"> <ClInclude Include="..\..\src\kiwano\utils\Ticker.h">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClInclude> </ClInclude>
@ -336,6 +330,12 @@
<ClInclude Include="..\..\src\kiwano\utils\Xml.h"> <ClInclude Include="..\..\src\kiwano\utils\Xml.h">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\src\kiwano\utils\TaskScheduler.h">
<Filter>utils</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kiwano\2d\action\ActionScheduler.h">
<Filter>2d\action</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\..\src\kiwano\2d\Canvas.cpp"> <ClCompile Include="..\..\src\kiwano\2d\Canvas.cpp">
@ -377,9 +377,6 @@
<ClCompile Include="..\..\src\kiwano\2d\action\ActionTween.cpp"> <ClCompile Include="..\..\src\kiwano\2d\action\ActionTween.cpp">
<Filter>2d\action</Filter> <Filter>2d\action</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\kiwano\2d\action\ActionManager.cpp">
<Filter>2d\action</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kiwano\2d\action\Animation.cpp"> <ClCompile Include="..\..\src\kiwano\2d\action\Animation.cpp">
<Filter>2d\action</Filter> <Filter>2d\action</Filter>
</ClCompile> </ClCompile>
@ -548,15 +545,18 @@
<ClCompile Include="..\..\src\kiwano\utils\Task.cpp"> <ClCompile Include="..\..\src\kiwano\utils\Task.cpp">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\kiwano\utils\TaskManager.cpp">
<Filter>utils</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kiwano\utils\Ticker.cpp"> <ClCompile Include="..\..\src\kiwano\utils\Ticker.cpp">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\kiwano\utils\Timer.cpp"> <ClCompile Include="..\..\src\kiwano\utils\Timer.cpp">
<Filter>utils</Filter> <Filter>utils</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\kiwano\utils\TaskScheduler.cpp">
<Filter>utils</Filter>
</ClCompile>
<ClCompile Include="..\..\src\kiwano\2d\action\ActionScheduler.cpp">
<Filter>2d\action</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="suppress_warning.ruleset" /> <None Include="suppress_warning.ruleset" />

View File

@ -77,9 +77,9 @@ Actor::~Actor()
void Actor::Update(Duration dt) void Actor::Update(Duration dt)
{ {
UpdateActions(this, dt); ActionScheduler::Update(this, dt);
TaskScheduler::Update(dt);
UpdateComponents(dt); UpdateComponents(dt);
UpdateTasks(dt);
if (!update_pausing_) if (!update_pausing_)
{ {

View File

@ -23,8 +23,8 @@
#include <kiwano/core/ObjectBase.h> #include <kiwano/core/ObjectBase.h>
#include <kiwano/core/Time.h> #include <kiwano/core/Time.h>
#include <kiwano/core/EventDispatcher.h> #include <kiwano/core/EventDispatcher.h>
#include <kiwano/utils/TaskManager.h> #include <kiwano/utils/TaskScheduler.h>
#include <kiwano/2d/action/ActionManager.h> #include <kiwano/2d/action/ActionScheduler.h>
#include <kiwano/2d/Component.h> #include <kiwano/2d/Component.h>
namespace kiwano namespace kiwano
@ -62,8 +62,8 @@ typedef IntrusiveList<ActorPtr> ActorList;
*/ */
class KGE_API Actor class KGE_API Actor
: public ObjectBase : public ObjectBase
, public TaskManager , public TaskScheduler
, public ActionManager , public ActionScheduler
, public EventDispatcher , public EventDispatcher
, protected IntrusiveListValue<ActorPtr> , protected IntrusiveListValue<ActorPtr>
{ {

View File

@ -30,7 +30,7 @@
namespace kiwano namespace kiwano
{ {
class Actor; class Actor;
class ActionManager; class ActionScheduler;
KGE_DECLARE_SMART_PTR(Action); KGE_DECLARE_SMART_PTR(Action);
@ -55,7 +55,7 @@ class KGE_API Action
, public Cloneable<Action> , public Cloneable<Action>
, protected IntrusiveListValue<ActionPtr> , protected IntrusiveListValue<ActionPtr>
{ {
friend class ActionManager; friend class ActionScheduler;
friend class ActionGroup; friend class ActionGroup;
friend IntrusiveList<ActionPtr>; friend IntrusiveList<ActionPtr>;

View File

@ -19,12 +19,13 @@
// THE SOFTWARE. // THE SOFTWARE.
#include <kiwano/2d/Actor.h> #include <kiwano/2d/Actor.h>
#include <kiwano/2d/action/ActionManager.h> #include <kiwano/2d/action/ActionScheduler.h>
#include <kiwano/core/Logger.h> #include <kiwano/core/Logger.h>
namespace kiwano namespace kiwano
{ {
void ActionManager::UpdateActions(Actor* target, Duration dt)
void ActionScheduler::Update(Actor* target, Duration dt)
{ {
if (actions_.IsEmpty() || !target) if (actions_.IsEmpty() || !target)
return; return;
@ -42,7 +43,7 @@ void ActionManager::UpdateActions(Actor* target, Duration dt)
} }
} }
Action* ActionManager::AddAction(ActionPtr action) Action* ActionScheduler::AddAction(ActionPtr action)
{ {
KGE_ASSERT(action && "AddAction failed, NULL pointer exception"); KGE_ASSERT(action && "AddAction failed, NULL pointer exception");
@ -53,7 +54,7 @@ Action* ActionManager::AddAction(ActionPtr action)
return action.Get(); return action.Get();
} }
void ActionManager::ResumeAllActions() void ActionScheduler::ResumeAllActions()
{ {
if (actions_.IsEmpty()) if (actions_.IsEmpty())
return; return;
@ -64,7 +65,7 @@ void ActionManager::ResumeAllActions()
} }
} }
void ActionManager::PauseAllActions() void ActionScheduler::PauseAllActions()
{ {
if (actions_.IsEmpty()) if (actions_.IsEmpty())
return; return;
@ -75,7 +76,7 @@ void ActionManager::PauseAllActions()
} }
} }
void ActionManager::StopAllActions() void ActionScheduler::StopAllActions()
{ {
if (actions_.IsEmpty()) if (actions_.IsEmpty())
return; return;
@ -86,7 +87,7 @@ void ActionManager::StopAllActions()
} }
} }
ActionPtr ActionManager::GetAction(const String& name) ActionPtr ActionScheduler::GetAction(const String& name)
{ {
if (actions_.IsEmpty()) if (actions_.IsEmpty())
return nullptr; return nullptr;
@ -97,7 +98,7 @@ ActionPtr ActionManager::GetAction(const String& name)
return nullptr; return nullptr;
} }
const ActionList& ActionManager::GetAllActions() const const ActionList& ActionScheduler::GetAllActions() const
{ {
return actions_; return actions_;
} }

View File

@ -30,9 +30,9 @@ namespace kiwano
/** /**
* \~chinese * \~chinese
* @brief * @brief
*/ */
class KGE_API ActionManager class KGE_API ActionScheduler
{ {
public: public:
/// \~chinese /// \~chinese
@ -60,10 +60,9 @@ public:
/// @brief 获取所有动画 /// @brief 获取所有动画
const ActionList& GetAllActions() const; const ActionList& GetAllActions() const;
protected:
/// \~chinese /// \~chinese
/// @brief 更新动画 /// @brief 更新动画
void UpdateActions(Actor* target, Duration dt); void Update(Actor* target, Duration dt);
private: private:
ActionList actions_; ActionList actions_;

View File

@ -93,7 +93,7 @@
#include <kiwano/2d/action/ActionDelay.h> #include <kiwano/2d/action/ActionDelay.h>
#include <kiwano/2d/action/ActionGroup.h> #include <kiwano/2d/action/ActionGroup.h>
#include <kiwano/2d/action/ActionHelper.h> #include <kiwano/2d/action/ActionHelper.h>
#include <kiwano/2d/action/ActionManager.h> #include <kiwano/2d/action/ActionScheduler.h>
#include <kiwano/2d/action/ActionTween.h> #include <kiwano/2d/action/ActionTween.h>
#include <kiwano/2d/action/ActionWalk.h> #include <kiwano/2d/action/ActionWalk.h>
#include <kiwano/2d/action/Animation.h> #include <kiwano/2d/action/Animation.h>
@ -119,4 +119,4 @@
#include <kiwano/utils/Ticker.h> #include <kiwano/utils/Ticker.h>
#include <kiwano/utils/EventTicker.h> #include <kiwano/utils/EventTicker.h>
#include <kiwano/utils/Task.h> #include <kiwano/utils/Task.h>
#include <kiwano/utils/TaskManager.h> #include <kiwano/utils/TaskScheduler.h>

View File

@ -24,7 +24,7 @@
namespace kiwano namespace kiwano
{ {
class TaskManager; class TaskScheduler;
KGE_DECLARE_SMART_PTR(Task); KGE_DECLARE_SMART_PTR(Task);
@ -39,7 +39,7 @@ class KGE_API Task
: public ObjectBase : public ObjectBase
, protected IntrusiveListValue<TaskPtr> , protected IntrusiveListValue<TaskPtr>
{ {
friend class TaskManager; friend class TaskScheduler;
friend IntrusiveList<TaskPtr>; friend IntrusiveList<TaskPtr>;
public: public:

View File

@ -19,11 +19,11 @@
// THE SOFTWARE. // THE SOFTWARE.
#include <kiwano/core/Logger.h> #include <kiwano/core/Logger.h>
#include <kiwano/utils/TaskManager.h> #include <kiwano/utils/TaskScheduler.h>
namespace kiwano namespace kiwano
{ {
void TaskManager::UpdateTasks(Duration dt) void TaskScheduler::Update(Duration dt)
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -40,7 +40,7 @@ void TaskManager::UpdateTasks(Duration dt)
} }
} }
Task* TaskManager::AddTask(TaskPtr task) Task* TaskScheduler::AddTask(TaskPtr task)
{ {
KGE_ASSERT(task && "AddTask failed, NULL pointer exception"); KGE_ASSERT(task && "AddTask failed, NULL pointer exception");
@ -53,7 +53,7 @@ Task* TaskManager::AddTask(TaskPtr task)
return task.Get(); return task.Get();
} }
void TaskManager::StopTasks(const String& name) void TaskScheduler::StopTasks(const String& name)
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -67,7 +67,7 @@ void TaskManager::StopTasks(const String& name)
} }
} }
void TaskManager::StartTasks(const String& name) void TaskScheduler::StartTasks(const String& name)
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -81,7 +81,7 @@ void TaskManager::StartTasks(const String& name)
} }
} }
void TaskManager::RemoveTasks(const String& name) void TaskScheduler::RemoveTasks(const String& name)
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -95,7 +95,7 @@ void TaskManager::RemoveTasks(const String& name)
} }
} }
void TaskManager::StopAllTasks() void TaskScheduler::StopAllTasks()
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -106,7 +106,7 @@ void TaskManager::StopAllTasks()
} }
} }
void TaskManager::StartAllTasks() void TaskScheduler::StartAllTasks()
{ {
if (tasks_.IsEmpty()) if (tasks_.IsEmpty())
return; return;
@ -117,12 +117,12 @@ void TaskManager::StartAllTasks()
} }
} }
void TaskManager::RemoveAllTasks() void TaskScheduler::RemoveAllTasks()
{ {
tasks_.Clear(); tasks_.Clear();
} }
const TaskList& TaskManager::GetAllTasks() const const TaskList& TaskScheduler::GetAllTasks() const
{ {
return tasks_; return tasks_;
} }

View File

@ -25,9 +25,9 @@ namespace kiwano
{ {
/** /**
* \~chinese * \~chinese
* @brief * @brief
*/ */
class KGE_API TaskManager class KGE_API TaskScheduler
{ {
public: public:
/// \~chinese /// \~chinese
@ -62,12 +62,12 @@ public:
/// @brief 获取所有任务 /// @brief 获取所有任务
const TaskList& GetAllTasks() const; const TaskList& GetAllTasks() const;
protected:
/// \~chinese /// \~chinese
/// @brief 更新任务 /// @brief 更新调度器
void UpdateTasks(Duration dt); void Update(Duration dt);
private: private:
TaskList tasks_; TaskList tasks_;
}; };
} // namespace kiwano } // namespace kiwano