public void SetArmy(BaseArmy army) { if (army.soldiers.Count > 0) { this.army = army; CreateArmy(); int y = 0; for (int p = 0; p < numbersOfSoldiersButtons.Count; p++) { numbersOfSoldiersButtons[p].mainRec.Y = (textPos + 180 + ((y / 2) * 25)); y++; } regiment = new Regiment(); regiment.AppointSoldier(army.soldiers[0]); } }
public void Update(MouseState mousestate, MouseState oldMosueState, string path) { if (state == EquipmentState.equipment) { if (equipmentbuttonHandler.Update(mousestate, oldMosueState, regiment.ReturnType())) { if (equipmentbuttonHandler.RemoveItem()) { regiment.RemoveEquipment(equipmentbuttonHandler.GetEquipment()); } else { regiment.SetEquipment(equipmentbuttonHandler.GetEquipment()); } equipmentbuttonHandler.UpdateShow(regiment.GetEquipment(), regiment.GetSoldier()); regiment.SetCost((regiment.ReturnType().GetCost() * regiment.GetNumberOfSoldiers()) + regiment.ReturnType().GetOneTimeCost() + regiment.ReturnType().GetArcherPlatformCost(regiment.GetNumberOfSoldiers())); } for (int i = 0; i < armiesButtons.Count; i++) { armiesButtons[i].Update(mousestate, oldMosueState); if (armiesButtons[i].pressed == true) { if (armies[i].soldiers.Count > 0) { army = armies[i]; CreateArmy(); int y = 0; for (int p = 0; p < numbersOfSoldiersButtons.Count; p++) { if (p >= numbersOfSoldiersButtons.Count / 2) { y = 1; } numbersOfSoldiersButtons[p].mainRec.Y = (textPos + 200 + (y * 25)); } equipmentbuttonHandler.CheckCanSee(army.soldiers[0]); } else { army = armies[i]; CreateArmy(); int y = 0; for (int p = 0; p < numbersOfSoldiersButtons.Count; p++) { numbersOfSoldiersButtons[p].mainRec.Y = (textPos + 190 + (y * 25)); if (p >= numbersOfSoldiersButtons.Count / 2) { y = 1; } } equipmentbuttonHandler.CheckCanSee(army.soldiers[0]); } regiment.SetCost((regiment.ReturnType().GetCost() * regiment.GetNumberOfSoldiers()) + regiment.ReturnType().GetOneTimeCost() + regiment.ReturnType().GetArcherPlatformCost(regiment.GetNumberOfSoldiers())); } } } else if (state == EquipmentState.spells) { spellHandler.Update(mousestate, oldMosueState); if (spellHandler.Pressed()) { regiment.AddSpell(spellHandler.GetSpells()); spellHandler.reset(regiment.GetSpellList()); } } if (regiment.ReturnType() is BaseUnit) { endTheThing.Update(mousestate, oldMosueState); if (state == EquipmentState.equipment) { if (regiment.ReturnType().IsSpellcaster()) { spellBTN.Update(mousestate, oldMosueState); if (spellBTN.pressed) { state = EquipmentState.spells; } } } else if (state == EquipmentState.spells) { equipmentBTN.Update(mousestate, oldMosueState); if (equipmentBTN.pressed) { state = EquipmentState.equipment; } } } UpdateButton(typeOfUnitButtons, mousestate, oldMosueState); for (int i = 0; i < typeOfUnitButtons.Count; i++) { if (typeOfUnitButtons[i].pressed == true) { if (army.soldiers.Count > 0) { typeOfUnitButtons[i].Sound(); regiment.AppointSoldier(army.ChosenSoldier(i)); equipmentbuttonHandler.ChangeLeaderType(regiment.ReturnType()); //equipmentbuttonHandler.startOver(regiment.ReturnType()); } else { typeOfUnitButtons[i].Sound(); regiment.AppointSoldier(army.ChosenSoldier(i)); equipmentbuttonHandler.ChangeLeaderType(regiment.ReturnType()); //equipmentbuttonHandler.startOver(regiment.ReturnType()); } regiment.SetCost((regiment.ReturnType().GetCost() * regiment.GetNumberOfSoldiers()) + regiment.ReturnType().GetOneTimeCost() + regiment.ReturnType().GetArcherPlatformCost(regiment.GetNumberOfSoldiers())); } } if (regiment.GetSoldier() != null) { ChosenUnit = texthandler.NameText(regiment.GetSoldier(), regiment.GetNumberOfSoldiers(), font, regiment.GetEndCost()); //regiment.SetCost(texthandler.ReturnEndpoints()); if (!regiment.GetSoldier().loner) { for (int i = 0; i < numbersOfSoldiersButtons.Count; i++) { numbersOfSoldiersButtons[i].Update(mousestate, oldMosueState, 0); if (numbersOfSoldiersButtons[i].pressed) { if (numbersOfSoldiersButtons[i] is RoundUpNumberOfSoldierButton) { regiment.ChangeNumberOfSoldiers((numbersOfSoldiersButtons[i] as RoundUpNumberOfSoldierButton).Rounding(regiment.GetNumberOfSoldiers())); } else { regiment.ChangeNumberOfSoldiers(numbersOfSoldiersButtons[i].NumberOfSoldiers()); } regiment.SetCost((regiment.ReturnType().GetCost() * regiment.GetNumberOfSoldiers()) + regiment.ReturnType().GetOneTimeCost() + regiment.ReturnType().GetArcherPlatformCost(regiment.GetNumberOfSoldiers())); } } } } }