1 #pragma once 2 3 class CSpringUnitType; 4 5 #include "../interfaces/IUnitType.h" 6 #include <vector> 7 #include "SpringGame.h" 8 9 class CSpringUnitType : public IUnitType { 10 public: 11 CSpringUnitType(CSpringGame* game, springai::OOAICallback* callback, springai::UnitDef* unitDef); 12 virtual ~CSpringUnitType(); 13 14 virtual std::string Name(); 15 16 virtual float ReclaimSpeed(); 17 virtual bool Extractor(); 18 19 virtual float ResourceCost(int idx); 20 21 virtual float GetMaxHealth(); 22 23 virtual int WeaponCount(); 24 virtual float MaxWeaponDamage(); 25 26 springai::UnitDef* GetUnitDef(); 27 28 virtual std::vector<IUnitType*> BuildOptions(); 29 30 protected: 31 std::vector<springai::UnitDef*> boptions; 32 CSpringGame* game; 33 springai::OOAICallback* callback; 34 springai::UnitDef* unitDef; 35 std::vector<springai::Resource*> resources; 36 std::vector<springai::WeaponMount*> weaponMounts; 37 }; 38