コード例 #1
0
ファイル: TextWidget.cs プロジェクト: Roboy/TeleportVR
        /// <summary>
        /// Initializes text widget subclass with default values from widget template.
        /// </summary>
        /// <param name="context">Widget context</param>
        /// <param name="viewDesignPrefab">Prefab for icon views</param>
        public new void Init(RosJsonMessage context, GameObject viewDesignPrefab)
        {
            color    = WidgetUtility.BytesToColor(context.textColor);
            fontSize = context.textFontSize;

            TextWidgetTemplate incomingMessageTemplate = new TextWidgetTemplate(context.textMessage, WidgetUtility.BytesToColor(context.textColor), context.textFontSize);

            currentlyDisplayedMessage = incomingMessageTemplate;

            base.Init(context, viewDesignPrefab);
        }
コード例 #2
0
ファイル: TextWidget.cs プロジェクト: Roboy/TeleportVR
        /// <summary>
        /// Change message in view according to template. Use default values if not specified in template.
        /// </summary>
        /// <param name="incomingMessageTemplate"></param>
        private void changeDisplayedMessage(TextWidgetTemplate incomingMessageTemplate)
        {
            if (incomingMessageTemplate.messageToDisplay.Equals(""))
            {
                return;
            }

            if (incomingMessageTemplate.textColor == null)
            {
                incomingMessageTemplate.textColor = color;
            }

            if (incomingMessageTemplate.textFontSize == 0)
            {
                incomingMessageTemplate.textFontSize = fontSize;
            }

            currentlyDisplayedMessage = incomingMessageTemplate;

            if (view != null)
            {
                ((TextView)view).ChangeMessage(incomingMessageTemplate);
            }
        }
コード例 #3
0
ファイル: TextView.cs プロジェクト: Roboy/TeleportVR
 /// <summary>
 /// Change message.
 /// </summary>
 /// <param name="incomingMessageTemplate"></param>
 public void ChangeMessage(TextWidgetTemplate incomingMessageTemplate)
 {
     textMeshPro.text     = incomingMessageTemplate.messageToDisplay;
     textMeshPro.color    = incomingMessageTemplate.textColor;
     textMeshPro.fontSize = incomingMessageTemplate.textFontSize;
 }
コード例 #4
0
ファイル: TextWidget.cs プロジェクト: Roboy/TeleportVR
        /// <summary>
        /// Process new incoming ros message.
        /// </summary>
        /// <param name="rosMessage"></param>
        public override void ProcessRosMessage(RosJsonMessage rosMessage)
        {
            TextWidgetTemplate incomingMessageTemplate = new TextWidgetTemplate(rosMessage.textMessage, WidgetUtility.BytesToColor(rosMessage.textColor), rosMessage.textFontSize);

            changeDisplayedMessage(incomingMessageTemplate);
        }