|
@ -89,13 +89,11 @@ namespace GWConquest |
|
|
unitClass.EquipmentSlots = data.GetInt("Equipment Slots"); |
|
|
unitClass.EquipmentSlots = data.GetInt("Equipment Slots"); |
|
|
unitClass.InventorySlots = data.GetInt("Inventory Slots"); |
|
|
unitClass.InventorySlots = data.GetInt("Inventory Slots"); |
|
|
|
|
|
|
|
|
unitClass.BuildCost = new BuildCost |
|
|
|
|
|
{ |
|
|
|
|
|
CreditCost = data.GetInt("Credit Cost"), |
|
|
|
|
|
RecruitCost = data.GetInt("Recruit Cost"), |
|
|
|
|
|
AmmoCost = data.GetInt("Supplies Cost"), |
|
|
|
|
|
FuelCost = data.GetInt("Fuel Cost") |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
unitClass.BuildCost = new BuildCost(); |
|
|
|
|
|
unitClass.BuildCost.AddCost("Credits", data.GetInt("Credit Cost")); |
|
|
|
|
|
unitClass.BuildCost.AddCost("Recruits", data.GetInt("Recruit Cost")); |
|
|
|
|
|
unitClass.BuildCost.AddCost("Supplies", data.GetInt("Supplies Cost")); |
|
|
|
|
|
unitClass.BuildCost.AddCost("Fuel", data.GetInt("Fuel Cost")); |
|
|
|
|
|
|
|
|
unitClass.BuildTime = data.GetFloat("Build Time"); |
|
|
unitClass.BuildTime = data.GetFloat("Build Time"); |
|
|
|
|
|
|
|
@ -295,7 +293,7 @@ namespace GWConquest |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public string FullName {get; private set;} |
|
|
public string FullName {get; private set;} |
|
|
public string ShortName; |
|
|
|
|
|
|
|
|
public string ShortName {get; private set;} |
|
|
public Sprite Sprite |
|
|
public Sprite Sprite |
|
|
{ |
|
|
{ |
|
|
get; private set; |
|
|
get; private set; |
|
@ -381,13 +379,46 @@ namespace GWConquest |
|
|
public float Accuracy; |
|
|
public float Accuracy; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[System.Serializable] |
|
|
|
|
|
public struct BuildCostEntry |
|
|
|
|
|
{ |
|
|
|
|
|
public string Item; |
|
|
|
|
|
public int Amount; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
[System.Serializable] |
|
|
[System.Serializable] |
|
|
public class BuildCost |
|
|
public class BuildCost |
|
|
{ |
|
|
{ |
|
|
public int CreditCost; |
|
|
|
|
|
public int RecruitCost; |
|
|
|
|
|
public int AmmoCost; |
|
|
|
|
|
public int FuelCost; |
|
|
|
|
|
|
|
|
public List<BuildCostEntry> Costs = new List<BuildCostEntry>(); |
|
|
|
|
|
|
|
|
|
|
|
public void AddCost(string item, int amount) |
|
|
|
|
|
{ |
|
|
|
|
|
if(amount > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
Costs.Add(new BuildCostEntry() {Item = item, Amount = amount}); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public bool AvailableIn(IInventory inventory, Player player) |
|
|
|
|
|
{ |
|
|
|
|
|
foreach(var cost in Costs) |
|
|
|
|
|
{ |
|
|
|
|
|
if(cost.Item == "Credits") |
|
|
|
|
|
{ |
|
|
|
|
|
if(player.Credits < cost.Amount) |
|
|
|
|
|
{ |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
if(!inventory.HasItem(cost.Item, cost.Amount)) |
|
|
|
|
|
{ |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public interface IBuildable |
|
|
public interface IBuildable |
|
@ -395,6 +426,7 @@ namespace GWConquest |
|
|
BuildCost BuildCost {get;} |
|
|
BuildCost BuildCost {get;} |
|
|
float BuildTime {get;} |
|
|
float BuildTime {get;} |
|
|
Sprite Sprite {get;} |
|
|
Sprite Sprite {get;} |
|
|
|
|
|
string ShortName {get;} |
|
|
string FullName {get;} |
|
|
string FullName {get;} |
|
|
string Description {get;} |
|
|
string Description {get;} |
|
|
} |
|
|
} |
|
|