/// <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); }
/// <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); }