Example #1
0
    private void InitRigester()
    {
        SoundManager.inst.Register(this.gameObject);
        MicroManager.inst.Register(this.gameObject);
        DispatchManager.inst.Register(MainEvent.RESTART_GAME, RESTART_GAME);
        DispatchManager.inst.Register(MainEvent.RELOGIN_GAME, RELOGIN_GAME);
        DispatchManager.inst.Register(MainEvent.SHOW_USER, SHOW_USER);
        DispatchManager.inst.Register(MainEvent.SOCKET_ERROR, SOCKET_ERROR);
        DispatchManager.inst.Register(MainEvent.FIGHT_RESULT, FIGHT_RESULT);
        DispatchManager.inst.Register(MainEvent.START_FIGHT, START_FIGHT);
        DispatchManager.inst.Register(MainEvent.CLOSE_FIGHT, CLOSE_FIGHT);
        DispatchManager.inst.Register(MainEvent.FIGHT_INIT_COMPLETE, FIGHT_INIT_COMPLETE);
        DispatchManager.inst.Register(MainEvent.FIGHT_QUIT, FIGHT_QUIT);
        DispatchManager.inst.Register(MainEvent.FIGHT_ING, FIGHT_ING);
        DispatchManager.inst.Register(MainEvent.SHOW_FIGHTDETAIL, SHOW_FIGHTDETAIL);
        DispatchManager.inst.Register(MainEvent.SOCKET_CLOSE, SOCKET_CLOSE);

        userModel  = ModelManager.inst.userModel;
        roleModel  = ModelManager.inst.roleModel;
        chatModel  = ModelManager.inst.chatModel;
        guildModel = ModelManager.inst.guildModel;
        fightModel = ModelManager.inst.fightModel;
        shareModel = ModelManager.inst.shareModel;

        gameModel.width  = GRoot.inst.width;
        gameModel.height = GRoot.inst.height;
        this.initQueue.Next();
    }
Example #2
0
        /// <summary> Удалить чат (локально) </summary>
        public static bool DeleteModelChat(ModelChat modelChat)
        {
            string[] arrayChatId;

            Logic.ClearChats(new[] { modelChat.Id }, out arrayChatId);

            return(!arrayChatId.Contains(modelChat.Id));
        }
Example #3
0
        /// <summary> Возвращает список сообщений по ModelChat </summary>
        public static List <ModelChatMessage> GetListModelChatMessageByIdChat(ModelChat modelChat)
        {
            var chatId = modelChat.Id;

            var listChatMessageModelManaged = ConvertChatMessageModelManagedAtModelChatMessage(Logic.GetChatMessages(chatId));

            return(listChatMessageModelManaged);
        }
Example #4
0
        /// <summary> Получить ChatModelManaged из ModelChat </summary>
        private static ChatModelManaged GetChatModelManagedFromModelChat(ModelChat modelChat)
        {
            var result = new ChatModelManaged
            {
                // тут сетим поля из modelChat
            };

            return(result);
        }
Example #5
0
 public PresentorChatClient(ChatClient view, ModelChat model)
 {
     chatClient = view;
     modelChat  = model;
     ReceiveMessagesAsync();
     modelChat.SendMessage(" вошел в чат");
     chatClient.ChatClientClosed += ChatClientClosedHandler;
     chatClient.SendBtnClick     += SendBtnClickHandler;
 }
Example #6
0
        /// <summary> Возвращает список сообщений постранично </summary>
        public static List <ModelChatMessage> GetPagedModelChatMessageByIdChat(ModelChat modelChat)
        {
            var chatId = modelChat.Id;

            var listChatMessageModelManaged = Logic.GetChatMessagesPaged(chatId, 50, "", -1);

            var listModelChatMessage = ConvertChatMessageModelManagedAtModelChatMessage(listChatMessageModelManaged);

            return(listModelChatMessage);
        }
Example #7
0
    public override void Init()
    {
        base.Init();
        this.Create(Config.SCENE_GUILDMAIN);

        roleModel  = ModelManager.inst.roleModel;
        guildModel = ModelManager.inst.guildModel;
        chatModel  = ModelManager.inst.chatModel;
        userModel  = ModelManager.inst.userModel;


        Init_LeftTab(new string[] { Tools.GetMessageById("19908") }, "n22");

//		frind_left_tab1 = (GComponent)this.GetChild ("n6");
//		frind_left_tab_1_0 = frind_left_tab1.GetChild ("n0").asButton;
//		frind_left_tab_1_1 = frind_left_tab1.GetChild ("n1").asButton;
//		frind_left_tab_1_2 = frind_left_tab1.GetChild ("n2").asButton;
//		frind_left_tab_1_3 = frind_left_tab1.GetChild ("n3").asButton;


        this.GetChild("n9").asTextField.text = Tools.GetMessageById("20170");
        this.GetChild("n4").asButton.text    = "";
        back = this.GetChild("n2").asButton;
        back.onClick.Add(OnCloseHandel);

        this.AddGlobalListener(MainEvent.GUILD_ESC, OnExcFunction);
        this.GetChild("n4").asButton.onClick.Add(() => {
            ModelManager.inst.fightModel.OpenFreeMatchInvite();
        });
//		this.GetChild ("n3").asButton.text = Tools.GetMessageById ("19908");
        n0    = this.GetChild("bg").asCom;
        tabC1 = this.GetController("c2");
        tabC2 = this.GetController("c3");
        tabC2.onChanged.Add(() => {
            base.OnTabLeftChange();
        });
        tabC2.onChanged.Call();
        tabC1.onChanged.Add(On_Left_Change1);
//		this.GetChild ("n8").asGroup.visible = false;
        if (ModelManager.inst.userModel.Get_NoticeState(ModelUser.RED_GUILDJOIN) != 0)
        {
            jiaru = true;
        }
        this.AddGlobalListener(MainEvent.GUILDICON_CHANGE, GUILDICON_CHANGE);
        this.AddGlobalListener(MainEvent.CHANGE_GUILD_NAME, CHANGE_GUILD_NAME);
        this.AddGlobalListener(MainEvent.GUILDDIZHI_CHANGE, GUILDDIZHI_CHANGE);
        GetGuildInfo(guildModel.viewData);

//		if (roleModel.tab_Select2 != -1 && roleModel.tab_Select2 != 0)
//		{
//			tabC2.selectedIndex = roleModel.tab_Select2;
//			roleModel.tab_Select2 = -1;
//		}
    }
    public override void Init()
    {
        base.Init();
        this.Create(Config.VIEW_LOGINCARD, false);

        userModel = ModelManager.inst.userModel;
        chatModel = ModelManager.inst.chatModel;
        //
        this.GetChild("n17").asTextField.text = Tools.GetMessageById("25501");
        //
        listData = new List <object[]> ();
        Dictionary <string, object> data = (Dictionary <string, object>)userModel.records ["guild_support_logs"];

        this.GetChild("n7").text = Tools.GetMessageById("25502");
        this.GetChild("n9").text = Tools.GetMessageById("25503");

        card = this.GetChild("n8").asCom as ComCard;
        list = this.GetChild("n12").asList;
//		bar = this.GetChild ("n4").asCom as ComProgressBar;
//		bar.skin = ComProgressBar.BAR7;

        int count = 0;
        Dictionary <string, object> users = (Dictionary <string, object>)data ["data"];

        object[] obj;
        foreach (string n in users.Keys)
        {
            obj = new object[3];
            object[] ob = (object[])users [n];
            obj [0] = n;
            obj [1] = ob [0];
            obj [2] = ob [1];
            listData.Add(obj);
            count += Convert.ToInt32(obj [2]);
        }

        int max = chatModel.GetCardRequestCount(data ["cid"].ToString(), userModel.effort_lv);

//		bar.value = count;
//		bar.max = max;
        this.GetChild("n19").asTextField.text = count + "/" + max;
        CardVo vo = DataManager.inst.GetCardVo(data ["cid"].ToString());

        card.SetData(vo.id, 1, 1);
        card.SetText(Tools.GetMessageById(vo.name));

        this.GetChild("n11").text = vo.exp + "";       // + "/" + vo.maxExp;
        this.GetChild("n18").text = "/" + vo.maxExp;

        list.itemRenderer = Item_Render;
        list.SetVirtual();
        list.numItems = listData.Count;
    }
Example #9
0
        /// <summary> Добавление/удаление собеседников в чат</summary>
        public static bool InviteAndRevokeChatMembers(ModelChat modelChat, List <ModelContact> membersToInvite, List <ModelContact> membersToRevoke)
        {
            if (String.IsNullOrWhiteSpace(modelChat.Id) || membersToInvite == null || membersToRevoke == null)
            {
                return(false);
            }

            var resString = Logic.InviteAndRevokeChatMembers(modelChat.Id,
                                                             DataSourceContact.ConvertListModelContactFromArrayContactModelManaged(membersToInvite).ToArray(),
                                                             DataSourceContact.ConvertListModelContactFromArrayContactModelManaged(membersToRevoke).ToArray());

            return(!String.IsNullOrWhiteSpace(resString));
        }
Example #10
0
 public void Register()
 {
     gameModel  = new ModelGame();
     alertModel = new ModelAlert();
     userModel  = new ModelUser();
     roleModel  = new ModelRole();
     guildModel = new ModelGuild();
     chatModel  = new ModelChat();
     cardModel  = new ModelCard();
     mailModel  = new ModelMail();
     fightModel = new ModelFight();
     rankModel  = new ModelRank();
     guideModel = new ModelGuide();
     shareModel = new ModelShare();
 }
Example #11
0
        /// <summary> Переименовать чат</summary>
        public static bool RenameModelChat(ModelChat modelChat)
        {
            var result = true;

            if (modelChat == null)
            {
                return(false);
            }

            var thread = new Thread(obj => Logic.RenameChat(modelChat.Id, modelChat.Title));

            thread.Start();

            return(result);
        }
Example #12
0
 private void EnterBtn_Click(object sender, EventArgs e)
 {
     try
     {
         var modelchat = new ModelChat();
         modelchat.Remoteport = Convert.ToInt32(RemotePortTB.Text);
         modelchat.Localport  = Convert.ToInt32(LocalPortTB.Text);
         this.Hide();
         UserLogin userlogin = new UserLogin();
         _ = new UDPChat.Presentor.PresentorUserLogin(userlogin, modelchat);
         userlogin.ShowDialog();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error");
     }
 }
Example #13
0
    public override void Init()
    {
        base.Init();
        this.Create(Config.VIEW_REQUEST, false, Tools.GetMessageById("22025"));

        chatModel = ModelManager.inst.chatModel;
        userModel = ModelManager.inst.userModel;

        list     = this.GetChild("n5").asList;
        btn      = this.GetChild("n4").asButton;
        btn.text = Tools.GetMessageById("22048");
        ld       = chatModel.GetRequestCards();

        list.itemRenderer = Item_Render;
        list.SetVirtual();
        list.numItems = ld.Count;

        btn.onClick.Add(Btn_Click);
    }
Example #14
0
        /// <summary> Получить чат из текушего списка чатов </summary>
        public ModelChat GetChatFromList(ModelChat modelChat)
        {
            var result = new ModelChat();

            var modelChatFromList = CurrentListModelChat.FirstOrDefault(obj => obj.Id == modelChat.Id);

            if (modelChatFromList != null)
            {
                result = modelChatFromList;
            }
            else
            {
                CurrentListModelChat.Add(modelChat);

                result = modelChat;
            }

            return(result);
        }
Example #15
0
        /// <summary> Получить ModelChat из ChatModelManaged </summary>
        private static ModelChat GetModelChatFromChatModelManaged(ChatModelManaged chatModelManaged)
        {
            var result = new ModelChat
            {
                Id                 = chatModelManaged.Id,
                Active             = chatModelManaged.Active,
                LastModifiedDate   = chatModelManaged.LastModifiedDate,
                NewMessagesCount   = chatModelManaged.NewMessagesCount,
                Title              = chatModelManaged.Title,
                TotalMessagesCount = chatModelManaged.TotalMessagesCount,
                IsP2P              = chatModelManaged.IsP2p,
                Secured            = chatModelManaged.Secured,
                ListModelContact   = DataSourceContact.GetListModelContactFromArrayContactModelManaged(chatModelManaged.Contacts),
                LastMessage        = GetModelChatMessageFromChatMessageModelManaged(chatModelManaged.LastMessage),
                DraftMessage       = GetModelChatMessageFromChatMessageModelManaged(chatModelManaged.DraftMessage)
            };

            return(result);
        }
Example #16
0
    public override void Init()
    {
        base.Init();
        chatModel = ModelManager.inst.chatModel;
        userModel = ModelManager.inst.userModel;
        cfg       = DataManager.inst.guild;

        string title = Tools.GetMessageById("22018", new string[] {
            chatModel.grab_List.Length.ToString(),
            Tools.Analysis(cfg, "redbag_society_" + (chatModel.grab_Type + 1).ToString() + ".times").ToString()
        });

        this.Create(Config.VIEW_RED2, false, title);

//		gold = view.GetChild ("n6").asCom.GetChild ("n0").asTextField;
        list = this.GetChild("n8").asList;
//		text = view.GetChild ("n2").asTextField;
//		txt1 = view.GetChild ("n25").asTextField;
//		txt2 = view.GetChild ("n26").asTextField;
//		txt3 = view.GetChild ("n27").asTextField;
//		(view.GetChild ("n6").asCom as ComGold).RemoveListener ();

        ld = chatModel.GetRedCards();
//		gold.text = chatModel.GetRedGolds ().ToString ();
//		text.text = Tools.GetMessageById ("22018", new string[] {
//			chatModel.grab_List.Length.ToString (),
//			Tools.Analysis (cfg, "redbag_society_" + (chatModel.grab_Type + 1).ToString () + ".times").ToString ()
//		});
//		int[] counts = chatModel.GetCardRarity ();
//		txt1.text = Tools.GetMessageById ("14016", new string[]{ counts [0].ToString () });
//		txt2.text = Tools.GetMessageById ("14016", new string[]{ counts [1].ToString () });
//		txt3.text = Tools.GetMessageById ("14016", new string[]{ counts [2].ToString () });

        list.itemRenderer = Item_Render;
        list.numItems     = chatModel.grab_List.Length;
    }
        ///<summary> Выбрать чат </summary>
        public void SetModelChat(ModelChat modelChat)
        {
            var modelChatFromList = _viewModelChat.GetChatFromList(modelChat);

            ListBoxChat.SelectedItem = modelChatFromList;
        }
Example #18
0
        /// <summary> Отправить контакты </summary>
        public static bool SendListModelContactToChat(List <ModelContact> listModelContact, ModelChat modelChat)
        {
            var result = true;

            if (listModelContact == null)
            {
                return(false);
            }

            foreach (var i in listModelContact)
            {
                Logic.SendContactToChat(Logic.PregenerateMessageId(), modelChat.Id, DataSourceContact.GetContactModelManagedFromModelContact(i));
            }

            return(result);
        }
Example #19
0
        /// <summary> Инициализация конструкторов </summary>
        private void InitializatiOnoverallConstructors(ModelChat modelChat)
        {
            if (modelChat != null)
            {
                var modelChatFromList = ViewModelChat.CurrentViewModelChat.CurrentListModelChat.FirstOrDefault(obj => obj.Id == modelChat.Id);

                if (modelChatFromList == null)
                {
                    ViewModelChat.CurrentViewModelChat.CurrentListModelChat.Add(modelChat);
                    CurrentModelChat = modelChat;
                }
                else
                {
                    CurrentModelChat = modelChatFromList;
                }
            }

            _listModelChatMessage = DataSourceChat.GetPagedModelChatMessageByIdChat(CurrentModelChat);

            foreach (var i in ListModelChatMessage)
            {
                var modelContact = ListModelConctactChatMembers.FirstOrDefault(obj => obj?.DodicallId == i?.Sender?.DodicallId);
                if (modelContact == null)
                {
                    ListModelConctactChatMembers.Add(i.Sender);
                }
            }

            foreach (var i in _listModelChatMessage)
            {
                // Сделать отдельный список с собеседниками+теми кто когда-то был в чате
                // Брать ссылку на объект из этого списка, тогда все будет работать
                //var modelContactFromModelChat = CurrentModelChat.ListModelContact.FirstOrDefault(obj => obj.Id == i?.Sender?.Id);
                var modelContactFromChatMessageSenders = ListModelConctactChatMembers.FirstOrDefault(obj => obj?.DodicallId == i?.Sender?.DodicallId);
                if (modelContactFromChatMessageSenders != null)
                {
                    i.Sender = modelContactFromChatMessageSenders;
                }
                //if (modelContactFromModelChat != null) i.Sender = modelContactFromModelChat;
            }

            SortCurrentListModelChatMessage();

            if (!CurrentModelChat.IsP2P)
            {
                CurrentModelChat.ListModelContact = ListModelContactSort(CurrentModelChat.ListModelContact);
                //_dataSourceContact.RefreshModelContactStatus(_listModelChatMessage.Select(obj => obj?.Sender).ToList());
                DataSourceContact.RefreshModelContactStatus(GetAllSendersAndUserFromChat());
                //_dataSourceContact.RefreshModelContactStatus(CurrentModelChat.ListModelContact);
            }

            CommandSendModelMessage = new Command(obj => SendModelMessage());

            CommandRenameChatModel = new Command(obj => RenameChatModel());

            CommandRemoveFromChat = new Command(obj => RemoveFromChatContactModel((ModelContact)obj));

            //CommandInviteAndRevokeChatMembers = new Command(obj => InviteAndRevokeChatMembers());

            if (CurrentModelChat.HaveDraft)
            {
                CurrentModelChatMessage = CurrentModelChat.DraftMessage;
            }

            CallbackRouter.Instance.ListModelChatMessageChanged         += OnListModelChatMessageChanged;
            CallbackRouter.Instance.ListModelContactStatusChanged       += OnListModelContactStatusChanged;
            CallbackRouter.Instance.ListModelContactSubscriptionChanged += OnListModelContactSubscriptionChanged;
            CallbackRouter.Instance.ModelUserSettingsChanged            += OnModelUserSettingsChanged;
        }
        ///<summary> Открыть вкладку чатов и выбрать чат </summary>
        public void OpenChat(ModelChat modelChat)
        {
            GridChat_Click(null, null);

            ViewChat.CurrentViewChat.SetModelChat(modelChat);
        }
Example #21
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() });
    }
Example #22
0
 public PresentorUserLogin(UserLogin view, ModelChat model)
 {
     userlogin = view;
     modelchat = model;
     userlogin.LoginBtnClick += LoginBtnClickHandler;
 }
Example #23
0
        ///// <summary> Команда удаления из чата </summary>
        //public Command CommandNeedGet { get; set; }

        /// <summary> Конструктор </summary>
        public ViewModelChatDetail(ModelChat modelChat)
        {
            CurrentModelChat = modelChat;

            InitializatiOnoverallConstructors(null);
        }