public override void Init() { base.Init(); this.Create(Config.VIEW_CHAT); chatModel = ModelManager.inst.chatModel; userModel = ModelManager.inst.userModel; roleModel = ModelManager.inst.roleModel; cfg = (Dictionary <string, object>)DataManager.inst.guild ["chat"]; list = this.GetChild("n2").asList; txt = this.GetChild("n11").asTextInput; btn_Send = this.GetChild("n9").asButton; btn_Send.text = Tools.GetMessageById("13064"); btn_Red = this.GetChild("n7").asButton; btn_Req = this.GetChild("n8").asButton; btn_Req.text = Tools.GetMessageById("22048"); g1 = this.GetChild("n21").asGroup; g2 = this.GetChild("n22").asGroup; gTop = new GComponent(); this.GetChild("n12").asGraph.ReplaceMe(gTop); gBottom = new GComponent(); this.GetChild("n13").asGraph.ReplaceMe(gBottom); txt.promptText = Tools.GetMessageById("22001"); txt.maxLength = Convert.ToInt32(cfg ["speak_length"]); if (!chatModel.isLoad) { NetHttp.inst.Send(NetBase.HTTP_CHATS, "", (VoHttp vo) => { chatModel.isLoad = true; Dictionary <string, object> data = (Dictionary <string, object>)vo.data; chatModel.chats = (object[])data ["chat_list"]; chatModel.guild = (object[])data ["guild_apply_list"]; chatModel.guild_Join = (object[])data ["guild_join_list"]; chatModel.guild_Modify = (object[])data ["guild_modify_list"]; chatModel.reds = (object[])data ["redbag_list"]; chatModel.support = (object[])data ["support_list"]; chatModel.share = (object[])data ["guild_fight_share"]; ld = chatModel.GetAll(); list.itemRenderer = List_Render; list.SetVirtual(); list.numItems = ld.Count; // btn_Send.onClick.Add(BtnSend_Click); btn_Red.onClick.Add(BtnRed_Click); btn_Req.onClick.Add(BtnReq_Click); this.AddListen(); list.scrollPane.onScroll.Add(Scorll_Change); list.scrollPane.ScrollBottom(); // Scorll_Change (); // DispatchManager.inst.Dispatch (new MainEvent (MainEvent.RED_CHATUPDATE)); rem = TimerManager.inst.Add(0.05f, 1, (float t) => { TimerManager.inst.Remove(rem); if (ld.Count != 0) { list.ScrollToView(ld.Count - 1); } rem = TimerManager.inst.Add(0.1f, 1, (float f) => { TimerManager.inst.Remove(rem); // Scorll_Change (); // DispatchManager.inst.Dispatch (new MainEvent (MainEvent.RED_CHATUPDATE)); }); }); }); } else { ld = chatModel.CheckOutTimeData(); list.itemRenderer = List_Render; list.SetVirtual(); list.numItems = ld.Count; btn_Send.onClick.Add(BtnSend_Click); btn_Red.onClick.Add(BtnRed_Click); btn_Req.onClick.Add(BtnReq_Click); this.AddListen(); list.scrollPane.onScroll.Add(Scorll_Change); // if (ld.Count != 0) // list.ScrollToView (ld.Count - 1, true); // Scorll_Change (); // DispatchManager.inst.Dispatch (new MainEvent (MainEvent.RED_CHATUPDATE)); rem = TimerManager.inst.Add(0.05f, 1, (float t) => { TimerManager.inst.Remove(rem); if (ld.Count != 0) { list.ScrollToView(ld.Count - 1); } rem = TimerManager.inst.Add(0.1f, 1, (float f) => { TimerManager.inst.Remove(rem); // Scorll_Change (); // DispatchManager.inst.Dispatch (new MainEvent (MainEvent.RED_CHATUPDATE)); }); }); } this.CheckRequestCard(); this.CheckSendRedbag(); this.AddGlobalListener(MainEvent.RED_CHATUPDATE, RED_CHATUPDATE); this.AddGlobalListener(MainEvent.CHAT_SENDREQUESTCARD, CHAT_SENDREQUESTCARD); this.AddGlobalListener(MainEvent.CHAT_SENDREDBAG, CHAT_SENDREDBAG); this.AddGlobalListener(MainEvent.CHAT_ISSENDREDBAG, CHAT_ISSENDREDBAG); this.AddGlobalListener(MainEvent.GONGGAO_CHANGE, GONGGAO_CHANGE); Dictionary <string, object> datas = (Dictionary <string, object>)(Tools.Clone(ModelManager.inst.guildModel.my_guild_info)); this.GetChild("n23").text = Tools.GetMessageById("20115", new string[] { (datas ["content"]).ToString() }); }