OSDN Git Service

fix build system ofmoflib1 and saisei1
[moflib/moflib.git] / saisei-1.0 / src / oldcode / Action.h
1 #pragma once
2
3 #include <list>
4 #include <vector>
5 #include "mof/Graphics.h"
6 #include "mof/GraphicsSchedule.h"
7 #include "Common.h"
8
9 namespace et{
10         class BattlerFacade;
11         
12         class Action
13         {
14                 std::vector<BattlerFacade*> m_targetList;
15         protected:
16                 BattlerFacade* m_pBattler;
17                 virtual int doActionTo(et::BattlerFacade* pTarget) = 0;
18                 int m_cost;
19         public:
20                 Action(et::BattlerFacade* pBattler , et::BattlerFacade* pTarget , int cost);
21                 Action(et::BattlerFacade* pBattler , std::vector<BattlerFacade*>& targetList , int cost);
22                 virtual ~Action(void);
23                 std::vector<int> doAction();
24                 std::vector<BattlerFacade*>& getTargetList(){return m_targetList;}
25                 void setTargetList(std::vector<BattlerFacade*>& targetList);
26                 int getAPCost(){return m_cost;}
27                 virtual mof::AnimationResource createApproachAnimation() = 0;
28                 virtual mof::AnimationResource createExecuteAnimation() = 0;
29                 virtual mof::tstring getActionMessage() = 0;
30                 virtual bool isDirectAttack(){return false;}
31
32                 virtual mof::GraphicsSchedule* createEffect(et::Common& common);
33         };
34
35
36 }