Ejemplo n.º 1
0
 public ActionInformation(Func<Tile, ActionAnimationScript> script, TileSelector abilityRange, Func<Tile, TileSelector> abilityAreaOfEffect, ActionType actionType)
 {
     Script = script;
     AbilityRange = abilityRange;
     AbilityAreaOfEffect = abilityAreaOfEffect;
     ActionType = actionType;
 }
Ejemplo n.º 2
0
        public static TileSelector CircularSelector(Level level, Tile currentTile, int radius)
        {
            var selector = new TileSelector();
            for (int i = -radius; i <= radius; i++)
            {
                for (int j = -radius; j <= radius; j++)
                {
                    if (Math.Abs(i) + Math.Abs(j) <= radius)
                    {
                        Tile t = level.GetTileAt(currentTile.XCoord + j, currentTile.YCoord + i);
                        if (t != null)
                            selector.AddValidTile(t);
                    }
                }
            }

            return selector;
        }
Ejemplo n.º 3
0
        public static TileSelector StandardMovementTileSelector(Level level, Tile currentTile, ActorBase actor)
        {
            var selector = new TileSelector();
            int movementRange = actor.CurrentStats.MovementRange;
            for (int i = -movementRange; i <= movementRange; i++)
            {
                for (int j = -movementRange; j <= movementRange; j++)
                {
                    if (Math.Abs(i) + Math.Abs(j) <= movementRange)
                    {
                        Tile t = level.GetTileAt(currentTile.XCoord + j, currentTile.YCoord + i);
                        if (t != null && t.ActorInTile == null)
                        {
                            if (AStar.CalculateAStarPath(currentTile, t, level, actor) != null)
                            {
                                selector.AddValidTile(t);
                            }
                        }
                    }
                }
            }

            return selector;
        }
Ejemplo n.º 4
0
 public void SwitchToConfirming()
 {
     IsConfirming = true;
     _targetedTile = GameState.FindHighlightedTile();
     _targetedAoe = _actionInformation.AbilityAreaOfEffect(_targetedTile);
     var validTiles = _targetedAoe.ValidTiles();
     foreach (var aoeTile in validTiles)
     {
         aoeTile.Tint = GetTint(_actionInformation.ActionType, true);
     }
 }