メインページ | ネームスペース一覧 | クラス階層 | アルファベット順一覧 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

skill.hxx

説明を見る。
00001 #ifndef SKILL_HXX_
00002 # define SKILL_HXX_
00003 
00004 # include "skill_name.hh"
00005 
00006 namespace objects
00007 {
00008   inline bool Skill::is_support() const
00009   {
00010     return false;
00011   }
00012 
00013   inline bool Skill::is_attack() const
00014   {
00015     return false;
00016   }
00017 
00018   inline int Skill::get_class() const
00019   {
00020     return -1;
00021   }
00022 
00023   inline bool SupportSkill::is_support() const
00024   {
00025     return true;
00026   }
00027 
00028   inline bool AttackSkill::is_attack() const
00029   {
00030     return true;
00031   }
00032 
00033   // SkillID
00034 
00035   template<int SKILL_ID, int CLASS_ID>
00036   SkillID<SKILL_ID, CLASS_ID>::SkillID() : Skill()
00037   {
00038   }
00039 
00040   template<int SKILL_ID, int CLASS_ID>
00041   inline int
00042   SkillID<SKILL_ID, CLASS_ID>::get_id() const
00043   {
00044     return id;
00045   }
00046   
00047   template<int SKILL_ID, int CLASS_ID>
00048   void 
00049   SkillID<SKILL_ID, CLASS_ID>::accept(SkillVisitor &sv)
00050   {
00051     sv(*this);
00052   }
00053 
00054   template<int SKILL_ID, int CLASS_ID>
00055   const std::string &
00056   SkillID<SKILL_ID, CLASS_ID>::get_name()
00057   {
00058     SkillName sn;
00059     sn(*this);
00060     return sn.result();
00061   }
00062 
00063   template<int SKILL_ID, int CLASS_ID>
00064   inline int 
00065   SkillID<SKILL_ID, CLASS_ID>::get_class() const
00066   {
00067     return CLASS_ID;
00068   }
00069 
00070   // SupportSkillID
00071 
00072   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00073   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00074   SupportSkillID() : SupportSkill()
00075   {
00076   }
00077 
00078   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00079   inline int
00080   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00081   get_id() const
00082   {
00083     return id;
00084   }
00085 
00086   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00087   void
00088   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00089   accept(SkillVisitor &sv)
00090   {
00091     sv(*this);
00092   }
00093 
00094   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00095   const std::string &
00096   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00097   get_name()
00098   {
00099     SkillName sn;
00100     sn(*this);
00101     return sn.result();
00102   }
00103 
00104   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00105   int 
00106   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00107   get_class() const
00108   {
00109     return CLASS_ID;
00110   }
00111 
00112   template<int SKILL_ID, int CLASS_ID, int STATUS_FLAG>
00113   int 
00114   SupportSkillID<SKILL_ID, CLASS_ID, STATUS_FLAG>::
00115   get_status_flag() const
00116   {
00117     return STATUS_FLAG;
00118   }
00119 
00120   // AttackSkillID
00121 
00122   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00123   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00124   AttackSkillID() : AttackSkill()
00125   {
00126   }
00127 
00128   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00129   inline int 
00130   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00131   get_id() const
00132   {
00133     return id;
00134   }
00135 
00136   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00137   void 
00138   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00139   accept(SkillVisitor &sv)
00140   {
00141     sv(*this);
00142   }
00143 
00144   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00145   const std::string &
00146   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00147   get_name()
00148   {
00149     SkillName sn;
00150     sn(*this);
00151     return sn.result();
00152   }
00153 
00154   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00155   int 
00156   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00157   get_class() const
00158   {
00159     return CLASS_ID;
00160   }
00161 
00162   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00163   bool
00164   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00165   is_targetable() const
00166   {
00167     return TARGETABLE;
00168   }
00169 
00170   template<int SKILL_ID, int CLASS_ID, bool TARGETABLE, bool MULTIPLE>
00171   bool 
00172   AttackSkillID<SKILL_ID, CLASS_ID, TARGETABLE, MULTIPLE>::
00173   is_multiple() const
00174   {
00175     return MULTIPLE;
00176   }
00177 }
00178 
00179 #endif

Cronous Emulatorに対してWed Aug 17 06:01:52 2005に生成されました。  doxygen 1.4.2-20050421