private void ElaborateLobbyData(Object sender, List <Room> data) { var deleteRooms = new Dictionary <String, VRoom>(rooms); var addRooms = new Dictionary <int, VRoom>(); var replaceRooms = new Dictionary <VRoom, Tuple <int, VRoom> >(); var layout = ((LinearLayout)FindViewById(Resource.Id.listRooms)); for (int i = 0; i < data.Count; i++) { Room room = data[i]; string key = room.address + ":" + room.port.ToString(); if (!rooms.ContainsKey(key)) { VRoom view = new VRoom(this, room); rooms.Add(key, view); addRooms[i] = view; } else { deleteRooms.Remove(key); if (!rooms[key].Equals(room)) { VRoom oldView = rooms[key]; VRoom view = new VRoom(this, room); rooms[key] = view; replaceRooms[oldView] = new Tuple <int, VRoom>(i, view); } else { rooms[key].room = room; } } } RunOnUiThread(() => { foreach (VRoom view in deleteRooms.Values) { layout.RemoveView(view); rooms.Remove(view.room.address + ":" + view.room.port.ToString()); } foreach (var entry in addRooms) { layout.AddView(entry.Value, entry.Key); } foreach (var entry in replaceRooms) { layout.RemoveView(entry.Key); layout.AddView(entry.Value.Item2, entry.Value.Item1); } }); }
private void firstBuildFunction() { layout = new MapsCreator(); wall = GameObject.Find("wall"); if (wall is null) { Debug.Log("could not find wall"); } floor = GameObject.Find("floor"); if (floor is null) { Debug.Log("could not find floor"); } physicalMap = layout.getMaps(); map_size = layout.getSize(); size = 1f; worldMap = new house[layout.getSize(), layout.getSize()]; drawPysicalrooms(); initTheActivities(); }
public bool dockingStation = false;//Portals leading to a docking station disable VRoom movement mechanics void Awake() { vRoomAndPlayer = GameObject.FindGameObjectWithTag("VRoomAndPlayer").transform; if (vRoomAndPlayer == null) { Debug.LogError("VRoomAndPlayer not found!"); } vRoom = vRoomAndPlayer.Find("VRoom"); if (vRoom == null) { Debug.LogError("VRoom not found!"); } vRoomScript = vRoom.GetComponent <VRoom>(); if (vRoomScript == null) { Debug.LogError("vRoomScript not found!"); } exit = FindExit(); }
public MapsCreator() { maps = new VRoom(size); enternces = new List <Node>(); setPysicalMap(); }