示例#1
0
        /// <summary>
        /// set object to corner and set correct rotation
        /// </summary>
        /// <param name="sides"></param>
        /// <returns></returns>
        private ObjectSpawn SetCornerWall(List <SideType> sides)
        {
            ObjectSpawn objectSpawn = new ObjectSpawn {
                objectType = ObjectType.Corner
            };

            if (sides.Contains(SideType.Up) && sides.Contains(SideType.Left))
            {
                objectSpawn.rotation = 180;
            }
            else if (sides.Contains(SideType.Up) && sides.Contains(SideType.Right))
            {
                objectSpawn.rotation = -90;
            }
            else if (sides.Contains(SideType.Down) && sides.Contains(SideType.Left))
            {
                objectSpawn.rotation = 90;
            }
            else if (sides.Contains(SideType.Down) && sides.Contains(SideType.Right))
            {
                objectSpawn.rotation = 0;
            }

            return(objectSpawn);
        }
示例#2
0
        /// <summary>
        /// set object to single wall and set correct rotation
        /// </summary>
        /// <param name="sides"></param>
        /// <returns></returns>
        private ObjectSpawn SetSingleWall(List <SideType> sides)
        {
            ObjectSpawn objectSpawn = new ObjectSpawn {
                objectType = ObjectType.SingleWall
            };

            switch (sides[0])
            {
            case SideType.Up:
                objectSpawn.rotation = -90;
                break;

            case SideType.Right:
                objectSpawn.rotation = 0;
                break;

            case SideType.Down:
                objectSpawn.rotation = 90;
                break;

            case SideType.Left:
                objectSpawn.rotation = 180;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(objectSpawn);
        }