public void BattleAnotherUnit(unit Enemy) { this.CurrentHp -= Enemy.CurrentAtk; Enemy.CurrentHp -= this.CurrentAtk; this.CurrentMovePoints = 0; this.CurrentCanAtk -= 1; }
/// <summary> /// Låter två enheter slåss och om de dör så försvinner de som dog /// </summary> /// <param name="Attacker"></param> /// <param name="Defender"></param> public void FIGHT(unit Attacker, unit Defender, tileLib tileLibrary) { if (Attacker.CurrentCanAtk > 0) { Attacker.BattleAnotherUnit(Defender); } if (Attacker.CurrentHp <= 0) { unitList.RemoveAt(FindIndexOfUnit_AtUnitID(Attacker.unitID)); tileLibrary.FindTile_AtUnitID(Attacker.unitID).removeUnit(Attacker.unitID); } if (Defender.CurrentHp <= 0) { tileLibrary.FindTile_AtUnitID(Attacker.unitID).removeUnit(Attacker.unitID); tileLibrary.FindTile_AtUnitID(Defender.unitID).addUnit(Attacker.unitID); unitList.RemoveAt(FindIndexOfUnit_AtUnitID(Defender.unitID)); tileLibrary.FindTile_AtUnitID(Defender.unitID).removeUnit(Defender.unitID); } }
/// <summary> /// Skapar en ny enhet på givet index i världen, kräver inte att du ger en annan unitID än 0 /// ge den dessutom en index i världen att vara /// </summary> /// <param name="UnitType"></param> public void CreateNewUnit(unit UnitType, int index, tileLib tileLibray) { UnitType.unitID = unitList.Count; unitList.Add(UnitType); tileLibray.TileList[index].addUnit(UnitType.unitID); }