コード例 #1
0
    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() });
    }