예제 #1
0
        public TezDungeonBlock getBlock(TezDungeonUtility.Direction dir, TezDungeonBlock current)
        {
            int x, y;

            if (this.getBlock(dir, current.x, current.y, out x, out y))
            {
                return(m_BlockArray[x, y]);
            }

            return(null);
        }
예제 #2
0
        public bool getBlock(TezDungeonUtility.Direction dir, int x, int y, out int result_x, out int result_y)
        {
            result_x = x;
            result_y = y;

            switch (dir)
            {
            case TezDungeonUtility.Direction.N:
                result_y += 1;
                break;

            case TezDungeonUtility.Direction.S:
                result_y -= 1;
                break;

            case TezDungeonUtility.Direction.W:
                result_x -= 1;
                break;

            case TezDungeonUtility.Direction.E:
                result_x += 1;
                break;

            case TezDungeonUtility.Direction.WN:
                result_x -= 1;
                result_y += 1;
                break;

            case TezDungeonUtility.Direction.EN:
                result_x += 1;
                result_y += 1;
                break;

            case TezDungeonUtility.Direction.WS:
                result_x -= 1;
                result_y -= 1;
                break;

            case TezDungeonUtility.Direction.ES:
                result_x += 1;
                result_y -= 1;
                break;
            }

            return(result_x >= 0 && result_x < m_Width && result_y >= 0 && result_y < m_Height);
        }