/// <summary> /// Sets a place's North/South/etc value to another Place's ID /// </summary> /// <param name="direction"></param> /// <param name="targetId"></param> public void SetDirection(LocationDirection direction, int targetId) { switch (direction) { case LocationDirection.North: North = targetId; break; case LocationDirection.South: South = targetId; break; case LocationDirection.East: East = targetId; break; case LocationDirection.West: West = targetId; break; case LocationDirection.Up: Up = targetId; break; case LocationDirection.Down: Down = targetId; break; default: throw new Exception("Location invalid"); } }
public static string LocToString(this LocationDirection direction) { switch (direction) { case LocationDirection.North: return("north"); case LocationDirection.South: return("south"); case LocationDirection.East: return("east"); case LocationDirection.West: return("west"); case LocationDirection.Up: return("up"); case LocationDirection.Down: return("down"); default: throw new Exception("Not a valid direction"); } }
public static LocationDirection GetOpposite(this LocationDirection direction) { switch (direction) { case LocationDirection.North: return(LocationDirection.South); case LocationDirection.South: return(LocationDirection.North); case LocationDirection.East: return(LocationDirection.West); case LocationDirection.West: return(LocationDirection.East); case LocationDirection.Up: return(LocationDirection.Down); case LocationDirection.Down: return(LocationDirection.Up); default: throw new Exception("Not a valid direction"); } }
private void ChangeSelectionToDirection(int roomId, Place room, LocationDirection direction) { if (roomId == 0) { roomId = CreateNewRoom(room, direction); } for (int i = 0; i < LvRoomsList.Items.Count; i++) { if (Convert.ToInt16(LvRoomsList.Items[i]) == roomId) { LvRoomsList.SelectedIndex = i; } } }
public Dictionary <LocationDirection, Item> GetDoors() { Dictionary <LocationDirection, Item> valuePairs = new Dictionary <LocationDirection, Item>(); foreach (Item item in GetItems()) { if (item.GetDoorCounterpart(Saves.Items) != -1) { LocationDirection direction = LocalConvert.ToLocationDirection(item.GetResults()[0][0]); if (!valuePairs.ContainsKey(direction)) { valuePairs.Add(direction, item); } } } return(valuePairs); }
private int CreateNewRoom(Place prevRoom, LocationDirection direction) { int[] idList = Saves.Places.GetIDs(); Place newPlace = new Place(idList); switch (direction) { case LocationDirection.North: // link the two places together prevRoom.North = newPlace.id; newPlace.South = prevRoom.id; break; case LocationDirection.East: prevRoom.East = newPlace.id; newPlace.West = prevRoom.id; break; case LocationDirection.South: prevRoom.South = newPlace.id; newPlace.North = prevRoom.id; break; case LocationDirection.West: prevRoom.West = newPlace.id; newPlace.East = prevRoom.id; break; case LocationDirection.Up: prevRoom.Up = newPlace.id; newPlace.Down = prevRoom.id; break; case LocationDirection.Down: prevRoom.Down = newPlace.id; newPlace.Up = prevRoom.id; break; } Saves.Places.UpdatePlace(prevRoom); Saves.Places.Add(newPlace); UpdateList(); return(newPlace.id); }