Exemplo n.º 1
0
    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
    }
Exemplo n.º 2
0
    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);
    }