Ejemplo n.º 1
0
        private static bool IsPathEmptyBetween(FightStatus fightStatus, Coord src, Coord dest, DynamicValueContext context)
        {
            //IL_0053: Unknown result type (might be due to invalid IL or missing references)
            if (!src.IsAlignedWith(dest))
            {
                return(false);
            }
            FightMapStatus mapStatus = fightStatus.mapStatus;

            foreach (Coord item in src.StraightPathUntil(dest))
            {
                switch (mapStatus.GetCellState(item.x, item.y))
                {
                case FightCellState.None:
                    return(false);

                default:
                    throw new ArgumentOutOfRangeException();

                case FightCellState.Movement:
                    break;
                }
                if (fightStatus.HasEntityBlockingMovementAt((Vector2Int)item))
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 2
0
 private static IEnumerable <Coord> Filter(IEnumerable <Coord> coords, FightStatus fightStatus)
 {
     foreach (Coord coord in coords)
     {
         if (!fightStatus.HasEntityBlockingMovementAt((Vector2Int)coord))
         {
             yield return(coord);
         }
     }
 }