private void SelectPlayer(EventData event_data) { SCPlayerList protocol = event_data.data as SCPlayerList; GameObject ScrollView = this.SelectPlayerPop.GetComponent <CustomScrollPop>().GetScrollView(); ScrollView.GetComponent <CustomScrollView>().RemoveAllChildren(); GameObject perfab = (GameObject)Resources.Load("Prefabs/UI/CustomButton"); foreach (PlayerInfo player_info in protocol.PlayerList) { GameObject CustomButton = Instantiate(perfab); string label = String.Format("角色ID:{0} 角色名:{1} 所属地图名:{2}", player_info.PlayerId, player_info.PlayerName, player_info.MapName); CustomButton.GetComponent <CustomButton>().SetLabel(label); CustomButton.GetComponent <CustomButton>().OnClick = delegate { string path = this.map_editor.FindMap(player_info.MapName); if (path != null) { PlayerCtrl.GetInstance().CSLoadPlayer(player_info.PlayerId); } else { Debug.Log("地图不存在!"); } }; ScrollView.GetComponent <CustomScrollView>().AddItem(CustomButton); } }
private void SCPlayerList(IMessage data) { SCPlayerList protocol = data as SCPlayerList; EventData event_data = new EventData() { data = protocol }; EventDispatcher.GetInstance().DispatchEvent(EventType.SelectPlayer, event_data); }
public void SendPlayerList(List <int> player_id_list, int connect_id_in_route) { SCPlayerList message = new SCPlayerList(); foreach (int player_id in player_id_list) { PlayerStruct player_struct = DataTool.LoadPlayer(player_id); PlayerInfo player_info = new PlayerInfo(); player_info.PlayerId = player_struct.PlayerData.Id; player_info.PlayerName = player_struct.PlayerData.Name; player_info.MapName = player_struct.PlayerData.MapName; message.PlayerList.Add(player_info); } Server.GetInstance().GetSocket().SendToServer(message, connect_id_in_route); }
private void CSLogin(object data, int connect_id) { CSLogin protocol = data as CSLogin; string uid = protocol.Uid; if (this.common_data.UidToPlayerlist.ContainsKey(uid)) { SCPlayerList message = new SCPlayerList(); message.PlayerList = this.common_data.UidToPlayerlist[uid]; ServerSocket.Getinstance().SendMessage(message, connect_id); } else { SCLogin message = new SCLogin(); message.Code = NoticeCode.NotExistPlayer; ServerSocket.Getinstance().SendMessage(message, connect_id); } }