예제 #1
0
        /// <summary>
        /// Anyone -> Human Avatar
        /// </summary>
        public override void OnReceiveChatMessage(string senderName, string message)
        {
            if (this.photonView.Owner != PhotonNetwork.LocalPlayer)
            {
                return;
            }

            string senderNickName = senderName.Split('#')[0];

            if (senderNickName == PhotonNetwork.NickName)
            {
                senderNickName = "You";
            }

            PanelNoticeStatus noticeStatus = new PanelNoticeStatus(senderNickName, message, PanelNoticeStatus.Green);

            // For changing the notice of the panel
            ExecuteEvents.Execute <IPanelNoticeHandler>
            (
                target: this.personalPanel,
                eventData: null,
                functor: (reciever, eventData) => reciever.OnPanelNoticeChange(noticeStatus)
            );

            SIGVerseLogger.Info("Human: Received a message. sender=" + senderName + ", message=" + message);
        }
        private void SendPanelNotice(string message, int fontSize, Color color, bool shouldSendToPlaybackManager = true)
        {
            PanelNoticeStatus noticeStatus = new PanelNoticeStatus(message, fontSize, color, 2.0f);

            // For changing the notice of a panel
            ExecuteEvents.Execute <IPanelNoticeHandler>
            (
                target: this.mainMenu,
                eventData: null,
                functor: (reciever, eventData) => reciever.OnPanelNoticeChange(noticeStatus)
            );

            if (shouldSendToPlaybackManager)
            {
                // For recording
                ExecuteEvents.Execute <IPanelNoticeHandler>
                (
                    target: this.playbackManager,
                    eventData: null,
                    functor: (reciever, eventData) => reciever.OnPanelNoticeChange(noticeStatus)
                );
            }

            this.lastPanelMessage = message;
        }
예제 #3
0
        //-----------------------------

        /// <summary>
        /// Human Avatar -> Robot
        /// </summary>
        public override void OnReceiveChatMessage(string senderName, string message)
        {
            if (this.photonView.Owner != PhotonNetwork.LocalPlayer)
            {
                return;
            }

            string senderNickName = senderName.Split('#')[0];

            if (senderNickName == PhotonNetwork.NickName)
            {
                senderNickName = "You";
            }

            // Display the message
            PanelNoticeStatus noticeStatus = new PanelNoticeStatus(senderNickName, message, PanelNoticeStatus.Green);

            ExecuteEvents.Execute <IPanelNoticeHandler>
            (
                target: this.mainMenu,
                eventData: null,
                functor: (reciever, eventData) => reciever.OnPanelNoticeChange(noticeStatus)
            );

            // Forward the message to ROS
            ExecuteEvents.Execute <SIGVerse.RosBridge.IRosSendingStringMsgHandler>
            (
                target: this.rosBridgeScripts,
                eventData: null,
                functor: (reciever, eventData) => reciever.OnSendRosStringMsg(message)
            );

            SIGVerseLogger.Info("Robot: Received a message. sender=" + senderName + ", message=" + message);
        }
        public void OnReceiveString(string stringData)
        {
            string[] stringArray = stringData.Split('\t');

            PanelNoticeStatus panelNoticeStatus = new PanelNoticeStatus(stringArray[0], stringArray[1], PanelNoticeStatus.Green);

            ExecuteEvents.Execute <IPanelNoticeHandler>
            (
                target: this.mainMenu,
                eventData: null,
                functor: (reciever, eventData) => reciever.OnPanelNoticeChange(panelNoticeStatus)
            );
        }