Exemplo n.º 1
0
    //disables overlays then if unit occupies the tile, calculates move overlays for it
    public void OnNewTile(Tile tile)
    {
        CurrentUnit = null;

        _overlaysManager.DisableTemporaryOverlays();

        if (tile.IsOccupied())
        {
            CurrentUnit = tile.Occupier;
            if (_battleTurnManager.IsInActiveGroup(CurrentUnit))
            {
                UnitMoveTiles = BattleMovementUtils.FindViableMoves(CurrentUnit);
                AttackedTiles = BattleMovementUtils.FindAttackedTiles(UnitMoveTiles, CurrentUnit.GetWeaponsRanges());
                _overlaysManager.EnablePlayerMoveOverlays(UnitMoveTiles);
                _overlaysManager.EnableAttackedOverlays(AttackedTiles);
            }
            else
            {
                EnemyTiles = BattleMovementUtils.FindViableMoves(CurrentUnit);
                EnemyTiles.UnionWith(BattleMovementUtils.FindAttackedTiles(EnemyTiles, CurrentUnit.GetWeaponsRanges()));
                _overlaysManager.EnableEnemyOverlays(EnemyTiles);
            }
        }
    }
Exemplo n.º 2
0
 public EnemyViewResolver(IEventSystem eventSystem, IEntityDatabase entityDatabase, IUnityInstantiator instantiator, EnemyTiles enemyTiles)
     : base(eventSystem, entityDatabase, instantiator)
 {
     _enemyTiles = enemyTiles;
 }
Exemplo n.º 3
0
 public EnemyViewResolver(IEventSystem eventSystem, IEntityCollectionManager collectionManager, IUnityInstantiator instantiator, EnemyTiles enemyTiles)
     : base(eventSystem, collectionManager, instantiator)
 {
     _enemyTiles = enemyTiles;
 }
 public EnemyViewResolver(IViewHandler viewHandler, EnemyTiles enemyTiles) : base(viewHandler)
 {
     _enemyTiles = enemyTiles;
 }