public void Remove(UnitController unit) { BattlefieldUnit battlefieldUnit = (from placeUnit in PlaceUnitList where placeUnit.Unit == unit select placeUnit).First(); battlefieldUnit.Unit = null; #region Check if end of battle bool playersArmy = battlefieldUnit.Place.PlayersArmy; bool end = true; foreach (BattlefieldUnit placeUnit in PlaceUnitList) { if (placeUnit.Place.PlayersArmy == playersArmy && placeUnit.Unit != null) { end = false; } } if (end) { EventPool.Trigger(EventTypes.EndBattle, !playersArmy); } #endregion }
public void MoveTo(Transform placeTransform, UnitController unit) { BattlefieldUnit battlefieldUnit = (from placeUnit in PlaceUnitList where placeUnit.Place.Transform == placeTransform select placeUnit).First(); UnitController otherUnit = battlefieldUnit.Unit; if (otherUnit != null) { BattlefieldUnit battlefieldUnitOrigin = (from placeUnit in PlaceUnitList where placeUnit.Unit == unit select placeUnit).First(); battlefieldUnitOrigin.Unit = otherUnit; battlefieldUnitOrigin.Place.Transform.GetComponent <PlaceOnBattlefield>().PlaceUnitHere(otherUnit.transform); } battlefieldUnit.Unit = unit; placeTransform.GetComponent <PlaceOnBattlefield>().PlaceUnitHere(unit.transform); }