codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#pragma once #include <string> #include <vector> #include "Player.h" class Ability; class Item; class Order; class Unit { public: enum ATTRIBUTE { ACTIONS_PER_ROUND = 0, STRENGTH = 1, INTELLIGENCE = 2, SPEED = 3, LIFE = 4, MANA = 5, DAMAGE = 6, SPELL_POWER = 7, ARMOR = 8, PHYSICAL_RESISTANCE = 9, MAGICAL_RESISTANCE = 10, ATTRIBUTE_COUNT = 11 }; enum UNIT_TYPE { UNIT_TYPE_FLYING = 0, UNIT_TYPE_UNDEAD = 1, UNIT_TYPE_DEAD = 2, UNIT_TYPE_COUNT = 3 }; Unit( const Player& owner, const int unitID ); virtual ~Unit(); void setName( const std::string& newname ); const std::string& getName() const; void setLevel( int newLevel ); int getLevel() const; void setAttribute( ATTRIBUTE whichAttribute, float value ); float getAttribute( ATTRIBUTE whichAttribute ) const; void setOwner( const Player& newOwner ); const Player& getOwner() const; void addAbility( Ability& ability ); void removeAbility( const std::string& abilityName ); bool hasAbility( const std::string& abilityName ) const; void addItem( Item& item ); void removeItem( const std::string& itemName ); bool hasItem( const std::string& itemName ) const; void order( Order& order ); Order* const getCurrentOrder() const; bool hasUnitType( UNIT_TYPE type ) const; void addUnitType( UNIT_TYPE type ); void removeUnitType( UNIT_TYPE type ); const int getID() const; virtual std::string toString() const; bool operator==( const Unit& rhs ) const; protected: const int _unitID; std::string _name; int _level; float _attributes[ATTRIBUTE_COUNT]; bool _unittypes[UNIT_TYPE_COUNT]; const Player* _owner; std::vector<Ability*> _abilities; std::vector<Item*> _items; Order* _currentOrder; private: Unit( const Unit& param ); };
Private
[
?
]
Run code
Submit