示例#1
0
        public static int StairsDownNextToGenerate(int roomWidth, int roomHeight)
        {
            if (_instance.roomHistory.Count == 0)
            {
                return(-1);
            }


            var refRoom = _instance.roomHistory[_instance.roomHistory.Count - 1];
            var pos     = RoomMath.GetCorrespondingPosition(refRoom, TileType.StairsUp, roomWidth, roomHeight, true);
            var coord   = Coordinate.FromPosition(pos, roomWidth);

            if (RoomMath.CoordinateOnCorner(coord, roomWidth, roomHeight))
            {
                if (coord.x == 0)
                {
                    coord.x = 1;
                }
                else if (coord.y == 0)
                {
                    coord.y = 1;
                }
                else
                {
                    coord.x -= 1;
                }
            }
            return(coord.ToPosition(roomWidth, roomHeight));
        }