]> ruin.nu Git - hbs.git/blobdiff - bs/unittype.h
documentation
[hbs.git] / bs / unittype.h
index dc34516bb8562a318b655487b602a76a9ea868b4..b01de80ef3c247107bfd3fb6b7c601aeef1a3f6f 100644 (file)
@@ -27,9 +27,9 @@
 /**This class contains a unittype, with all it's attributes + the number you got.
  * Maybe this actually should be a struct, since this class doen't have much to do, since i want it to be as generic as possible.  
  * It got some data need need to be taken care of which makes me put it as a class. 
- * \todo need to add some more constructors.. 
+ * \todo need to add some more constructors.., maybe not.. 
   *@author Michael Andreen <whale@linux.nu>
-  *@see Fleet
+  *\sa Fleet Planet
   */
 
 class UnitType 
@@ -41,83 +41,123 @@ public:
        /*! This function sets the name for this unittype (ie. interceptor) */
        void setName(std::string sName);
        /** Returns the name of this unittype */
-       std::string Name();
+       std::string Name() const;
 
-       /** This functions sets which race this unittype is, the race is represented with a integer. */
+       /** This functions sets which race this unittype is
+        * \param iRace the race is represented with a integer.
+        */
        void setRace(int iRace);
-       /** Returns the race this unittype belongs to*/
-       int Race();
+       /** Used to get what type of race this is
+        * \returns returns the race as an integer
+        */
+       int race() const;
+
+       /** Sets the class for the unittype
+        * \param sClass the class represented as a string
+        */
+       void setUnitClass(std::string sClass);
+       /**  used to get what type of class this unit is
+        * \returns the class as a string
+        */
+       std::string unitClass() const;
+
+       /** Sets the classes that this unittype targets 
+        * \param Target the target list, as a vector of strings
+        */
+       void setTarget(std::vector<std::string> Target);
+
+       /** This function adds a target class to the end of the target list.
+        * \param target the target you want to add, as a string.
+        */
+       void addTarget(std::string target);
 
-       /** Sets the class for the unittype, it's represented as a integer */
-       void setClass(int iClass);
-       int iClass();
-
-       /** Sets the classes that this unittype targets. a vector is used. */
-       void setTarget(std::vector<int> Target);
-       /** This function adds a target class to the end of the target list. */
-       void addTarget(int iTarget);
        /** This function inserts a target class into the target list. The default is in the beginning.
         * \param iTarget an integer that represents the target's class. 
-        * \param index where to place the target. 0 being the default and first place. */
-       void insTarget(int iTarget, int index = 0);
-       /** Returns all targets from the target list */
-       std::vector<int> Target();
+        * \param index where to place the target. 0 being the default and first place. 
+        */
+       void insTarget(std::string iTarget, int index = 0);
+       /** Used to get the full target list.
+        * \returns all targets as a vector of strings.
+        * */
+       std::vector<std::string> target() const;
        /** Returns a specific target 
-        * \param index An index value that represents the target. 0 being the first*/
-       int     Target(int index);
+        * \param index An index value that represents the target. 0 being the first
+        */
+       std::string     target(int index) const;
 
-       /** Sets the initiatve, the lower it is the earlier the unit shots */
+       /** Used to set the initiatve, the lower it is the earlier the unit shots
+        * \param iInit the initiative as an int
+        */
        void setInitiative(int iInit);
-       int      Initiative();
-
-       /** Sets the agility, the higher it is the harder it is to hit the unit */
+       /** Used to get the initiative this unittype got, lower shots first.
+        * \returns the initiative as an int
+        */
+       int      initiative() const;
+
+       /** Used to set the agility, the higher it is the harder it is to hit the unit
+        * \param iAgil the agility represnted as an int
+        */
        void setAgility (int iAgil);
-       int  Agility();
-
-       /** Sets the weaponspeed.. just a simple integer that shows how good it is at hitting things */
+       /** used to get this unittype's agility, higher is equal to hard to hit.
+        * \returns the agility as an int
+        */
+       int  agility() const;
+
+       /** Used to set the weaponspeed.. Higher is equal to better at hitting
+        * \param iWPSP the weaponspeed represented as an int.
+        */
        void setWeaponSpeed(int iWPSP);
-       int  WeaponSpeed();
-
-       /** Sets the number of guns. */
+       /** Used to get what weaponspeed this unittype has
+        * \returns the weaponspeed as an int
+        */
+       int  weaponSpeed() const;
+
+       /** Sets the number of guns for this unittype
+        * \param iGuns the number of guns represented as an int
+        */
        void setGuns(int iGuns);
-       int Guns();
+       /** used to get the number of guns this unittype has
+        * \returns the number of guns as an int
+        */
+       int guns() const;
 
        /** Sets the how much power the guns have.. or in other words: the damage they do. */
        void setPower(int iPower);
-       int  Power();
+       int  power() const;
 
        /** Sets the armor, this is how much damage the unittype can take before it's destroyed */
        void setArmor(int iArmor);
-       int  Armor();
+       int  armor() const;
 
        /** Sets the emp resistance, the lower value the easier it is to block it */
        void setEMP(int iEMP);
-       int  EMP();
+       int  EMP() const;
 
        /** Sets the resource cost for this unittype. Used for example for score calculation and so on. */
        void setTotalResources(int iTR);
        /** Returns the number of total resources this unittype cost. */
-       int TotRes();
+       int totRes() const;
 
        /** Sets the fuelcost for this unittype */
        void setFuel(int iFuel);
        /** Returns the fuelcost */
-       int  Fuel();
+       int  fuel() const;
 
        /** Sets the ETA, the speed in a sort of inverted form.. the lower ETA, the faster is the unit */
        void setETA(int iETA);
-       int  ETA(); 
+       int  ETA() const
 
        /** Sets the type of the unit. What the types do must be specified in the real battle engine (Fleet) though.
         * \param iType An integer to symbolise the type. */
-       void setType(int iType);
+       void setType(std::string type);
        /** What type of ship this is. */
-       int  Type();    
+       std::string  type() const;      
+
 protected:
        std::string             m_sName;
        int                     m_iRace;            //!< Not really the race, but an indiaction on what race can use it.. 
-       int                     m_iClass;
-       std::vector<int>        m_vTarget;
+       std::string     m_sClass;
+       std::vector<std::string>        m_vTarget;
        int                     m_iInitiative;
        int                     m_iAgility;
        int                     m_iWeaponSpeed;
@@ -126,7 +166,7 @@ protected:
        int                     m_iArmor;
        int                     m_iEMP;
        int                     m_iTotalResources;
-       int                     m_iType;            //!< normal,emp,cloak,steal,pod
+       std::string     m_sType;            //!< normal,emp,cloak,steal,pod
        int                     m_iETA;
        int                     m_iFuel;
 };