public void LoadRoomConfigFromXML(string MapID) { string filePath = Application.dataPath + "/Resources/RoomConfig/" + MapID + "_RoomConfig.xml"; if (File.Exists(filePath)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(filePath); XmlNodeList node = xmlDoc.SelectSingleNode("RoomConfig").ChildNodes; int RoomPlayerSlotIndex = 0; foreach (XmlElement SlotInfo in node) { RoomPlayerSlot NewRoomPlayerSlot = new RoomPlayerSlot(); NewRoomPlayerSlot.SetSlotID(RoomPlayerSlotIndex); foreach (XmlElement SlotInfoItem in SlotInfo.ChildNodes) { if (SlotInfoItem.Name == "SlotType") { if (SlotInfoItem.InnerText == "AI") { Debug.Log("this is AI"); RoomPlayer NewRoomPlayer = new RoomPlayer(); NewRoomPlayer.SetPlayerName(SlotInfoItem.InnerText); NewRoomPlayerSlot.SetContainRoomPlayer(NewRoomPlayer); } } else if (SlotInfoItem.Name == "SlotTeamID") { NewRoomPlayerSlot.SetTeamID(StringToInt(SlotInfoItem.InnerText)); } } RoomPlayerSlotList.Add(NewRoomPlayerSlot); RoomPlayerSlotIndex++; } } for (int i = 0; i < RoomPlayerSlotList.Count; i++) { if (RoomPlayerSlotList[i].GetContainRoomPlayer() == null) { RoomPlayer NewRoomPlayer = new RoomPlayer(); NewRoomPlayer.SetPlayerName("YOU"); RoomPlayerSlotList[i].SetContainRoomPlayer(NewRoomPlayer); break; } } }
public void CreatePlayerSlot(RoomPlayer newRoomPlayer, bool isLocal) { GameObject roomPlayerSlotObj = Instantiate(roomPlayerSlotPrefab, playerLayoutGroup, false); RoomPlayerSlot roomPlayerSlot = roomPlayerSlotObj.GetComponent <RoomPlayerSlot>(); newRoomPlayer.AssignRoomPlayerSlot(roomPlayerSlot); roomPlayerSlot.Initialize(newRoomPlayer); if (isLocal) { roomPlayerSlot.SetAsLocal(); } roomPlayers.Add(newRoomPlayer); }
public void AssignRoomPlayerSlot(RoomPlayerSlot roomPlayerSlot) { _roomPlayerSlot = roomPlayerSlot; }