Ejemplo n.º 1
0
        /*
         * Callback functions section (for asynchronous actions).
         * These methods will be triggered by the Context.
         */
        #region callbacks

        public void OnAddSay(RMessage message)
        {
            ConversationView newConversation;
            SayData          sayData = (SayData)message.Data;

            newConversation = new ConversationView(sayData.Id, model.StyleChoice);
            Context.FireCallback(message);
        }
Ejemplo n.º 2
0
        /* The GetFriendList MessageHandler
         * It handles messages of ADD_SAY_REQUEST type.
         */
        private static void AddSay(RMessage message, TcpClient connection)
        {
            Console.WriteLine("AddSay");
            SayData say = (SayData)(message.Data);
            uint    id  = say.Id;

            say.Id = ServerCore.GetIdByConnection(connection);
            if (ServerCore.GetWorkerById(id) != null)
            {
                RMessage replyMessage = new RMessage(MessageType.ADD_SAY_REPLY, say);
                ServerCore.GetWorkerById(id).SendMessage(replyMessage);
            }
            UserConnector.UpdateUserRank(say.Id, Ranking.ADD_SAY);
        }
Ejemplo n.º 3
0
 public void AddSayData(SayData sayData)
 {
     Saydata       = sayData;
     currentSay    = Saydata.SayList.First();
     currentSayIdx = 0;
     TextPlayer.GetComponent <TextMeshProUGUI>().text = "";
     Name.ShowText(sayData.name);
     if (IsShowNow)
     {
         ShowNext();
     }
     else
     {
         StartCoroutine(StartSay());
     }
 }
Ejemplo n.º 4
0
        private void OnNewSay(ConversationModel model)
        {
            if (model.Partner == null)
            {
                initialSay = true;
                return;
            }
            while (!this.IsHandleCreated)
            {
                ;
            }
            if (this.InvokeRequired)
            {
                this.Invoke((ConversationController.ExternalEventHandler)
                            OnNewSay, model);
                return;
            }
            SayData sayData = model.Says[model.Says.Count - 1];

            richConversationTextbox.SelectionStart = richConversationTextbox.Text.Length;
            if (sayData.Id == LoggedInUserModel.Instance.User.Id)
            {
                richConversationTextbox.SelectionBackColor = Color.LightGray;
                richConversationTextbox.SelectedText       = LoggedInUserModel.Instance.User.Username + ": ";
                normalConversationTextbox.SelectedText     = LoggedInUserModel.Instance.User.Username + ": ";
            }
            else
            {
                richConversationTextbox.SelectionBackColor = Color.DarkGray;
                richConversationTextbox.SelectedText       = _name + ": ";
                normalConversationTextbox.SelectedText     = _name + ": ";
            }
            richConversationTextbox.SelectedRtf    = sayData.RichSay;
            normalConversationTextbox.SelectedText = sayData.NormalSay + "\r\n";
            richConversationTextbox.Refresh();
            normalConversationTextbox.ScrollToCaret();
            normalConversationTextbox.Refresh();

            richConversationTextbox.Focus();
            saysTextbox.Focus();
        }
Ejemplo n.º 5
0
        /*
         * Trigger rules for callback functions
         */
        #region rules

        public bool OnAddSayRule(RMessage message)
        {
            if (message.Type != MessageType.ADD_SAY_REPLY)
            {
                return(false);
            }
            SayData sayData = (SayData)message.Data;

            foreach (System.Windows.Forms.Form child in Context.EntryPoint.MdiChildren)
            {
                if ((child is ConversationView) && !(((ConversationView)child).IsDisposed) && ((ConversationView)child).Id == sayData.Id)
                {
                    return(false);
                }
            }
            if (!(LoggedInUserModel.Instance.User.Status))
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 6
0
 public void Say(string text)
 {
     saydata = new SayData(text, System.TimeSpan.MinValue, this);
     saydata.WaitTillSayFinished();
 }
Ejemplo n.º 7
0
 public void Say(string text, TimeSpan time)
 {
     saydata = new SayData(text, time, this);
     saydata.WaitTillSayFinished();
 }
Ejemplo n.º 8
0
 public void Say(string text, double secondsInTime)
 {
     saydata = new SayData(text, TimeSpan.FromSeconds(secondsInTime), this);
     saydata.WaitTillSayFinished();
 }