示例#1
0
    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;
            }
        }
    }
示例#2
0
    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);
    }
示例#3
0
 public void AssignRoomPlayerSlot(RoomPlayerSlot roomPlayerSlot)
 {
     _roomPlayerSlot = roomPlayerSlot;
 }