public bool Logined(Protomsg.MsgBase d1) { Google.Protobuf.IMessage IMperson = new Protomsg.SC_Logined(); Protomsg.SC_Logined p1 = (Protomsg.SC_Logined)IMperson.Descriptor.Parser.ParseFrom(d1.Datas); UID = p1.Uid; if (p1.Code != 1) { Debug.Log("login fail"); } else { Protomsg.CS_SelectCharacter msg1 = new Protomsg.CS_SelectCharacter(); msg1.SelectCharacter = new Protomsg.CharacterBaseDatas(); Debug.Log("Logined:" + p1.Characters); initOpenHeros(p1.Characters); showSelectHero(); } return(false); //中断解析数据 }
//显示选择英雄界面 public void showSelectHero() { SelectLayer = UIPackage.CreateObject("Package1", "SelectHero").asCom; GRoot.inst.AddChildAt(SelectLayer, 0); Vector2 screenPos = new Vector2(Screen.width / 2, Screen.height / 2); Vector2 logicScreenPos = GRoot.inst.GlobalToLocal(screenPos); SelectLayer.xy = logicScreenPos; //---设置默认选择英雄 if (SaveDataManager.sData.SelectHeroTypeID <= 0) { SaveDataManager.sData.SelectHeroTypeID = openherotypeids1[0]; } freshSelectHero(); SelectLayer.GetChild("startbtn").asButton.onClick.Add(() => { if (SelectHeroMsg.Name.Length <= 0) { //输入名字 var inputnamecom = UIPackage.CreateObject("Package1", "InputName").asCom; GRoot.inst.AddChild(inputnamecom); inputnamecom.xy = logicScreenPos; inputnamecom.GetChild("ok").asButton.onClick.Add(() => { var txt = inputnamecom.GetChild("input").asTextInput.text; if (txt.Length <= 0) { Tool.NoticeWords("请输入名字!", null); return; } if (Tool.IsChineseOrNumberOrWord(txt) == false) { Tool.NoticeWords("名字不含有中文,字母,数字以外的其他字符!", null); return; } SelectHeroMsg.Name = txt; Debug.Log("name:" + txt); Protomsg.CS_SelectCharacter msg1 = new Protomsg.CS_SelectCharacter(); msg1.SelectCharacter = SelectHeroMsg; MyKcp.Instance.SendMsg("Login", "CS_SelectCharacter", msg1); SelectHeroMsg.Name = ""; //清空名字 inputnamecom.Dispose(); }); inputnamecom.GetChild("input").asTextInput.onKeyDown.Add((EventContext context) => { if (context.inputEvent.keyCode == KeyCode.Return) { inputnamecom.GetChild("ok").asButton.onClick.Call(); } }); } else { Protomsg.CS_SelectCharacter msg1 = new Protomsg.CS_SelectCharacter(); msg1.SelectCharacter = SelectHeroMsg; MyKcp.Instance.SendMsg("Login", "CS_SelectCharacter", msg1); } }); }