public void SetRegiment(Regiment regiment) { this.regiment = regiment; equipmentbuttonHandler.UpdateShow(regiment.GetEquipment(), this.regiment.ReturnType()); army = armies[regiment.GetSoldier().GetArmy()]; typeOfUnitButtons = new List <MarkButton>(); for (int p = 0; p < army.SizeOfArmy(); p++) { typeOfUnitButtons.Add(new MarkButton(markButton, 2, 1, 120, 100 + (20 * p), army.soldiers[p].Name(), clickSound)); if (regiment.GetSoldier().Name() == typeOfUnitButtons[p].Text()) { typeOfUnitButtons[p].turnOn(); } } textPos = typeOfUnitButtons[typeOfUnitButtons.Count - 1].mainRec.Y + 60; int y = 0; for (int p = 0; p < numbersOfSoldiersButtons.Count; p++) { numbersOfSoldiersButtons[p].mainRec.Y = (textPos + 180 + ((y / 2) * 25)); y++; } pressedWeaponsButtons = new List <int>(); }
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())); } } } } }