예제 #1
0
        public List <Pair <MTile, int> > GetAoETilesWithDistance(int dist)
        {
            var logic     = new HexTileLogic();
            var pairs     = logic.GetAoETilesWithDistance(dist, this);
            var distTiles = new List <Pair <MTile, int> >();

            foreach (var kvp in pairs)
            {
                distTiles.Add(new Pair <MTile, int>(this.ConvertIHexToMTile(kvp.X), kvp.Y));
            }
            return(distTiles);
        }
예제 #2
0
        public MTile GetPushTile(MTile target)
        {
            var logic = new HexTileLogic();
            var tile  = logic.GetPushTile(this, target);

            if (tile != null && tile.GetCurrentOccupant() == null)
            {
                return(tile as MTile);
            }
            else
            {
                return(null);
            }
        }
예제 #3
0
        public bool IsTileNW(IHex target, int dist)
        {
            var logic = new HexTileLogic();

            return(logic.IsTileNW(this, target, dist));
        }
예제 #4
0
        public List <IHex> GetRayTilesViaDistNW(int dist)
        {
            var logic = new HexTileLogic();

            return(logic.GetRayTilesViaDistNW(this, dist));
        }
예제 #5
0
        public List <MTile> GetConvertedRaycastTiles(IHex target, int dist)
        {
            var logic = new HexTileLogic();

            return(this.ConvertIHexToMTile(logic.GetRaycastTiles(this, target, dist)));
        }
예제 #6
0
        public List <IHex> GetRaycastTiles(IHex target, int dist)
        {
            var logic = new HexTileLogic();

            return(logic.GetRaycastTiles(this, target, dist));
        }
예제 #7
0
        public IHex GetRandomNearbyTile(int probes)
        {
            var logic = new HexTileLogic();

            return(logic.GetRandomNearbyTile(probes, this));
        }
예제 #8
0
        public List <MTile> GetEmptyAoETiles(int dist)
        {
            var logic = new HexTileLogic();

            return(this.ConvertIHexToMTile(logic.GetEmptyAoETiles(dist, this)));
        }
예제 #9
0
        public List <MTile> GetArcTiles(MTile target)
        {
            var logic = new HexTileLogic();

            return(this.ConvertIHexToMTile(logic.GetArcTiles(this, target)));
        }