Ejemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     // Sensglove failure
     if (Input.GetKeyDown(KeyCode.S))
     {
         if (sensgloves_working)
         {
             RosJsonMessage toastrMessage = RosJsonMessage.CreateToastrMessage(10, "Senseglove disconnected", 5,
                                                                               new byte[] { 255, 40, 15, 255 });
             rosPublisher.PublishMessage(toastrMessage);
             //RosJsonMessage iconMessage = RosJsonMessage.CreateIconMessage(20, "Gloves-OFF_01a");
             RosJsonMessage iconMessage = RosJsonMessage.CreateIconMessage(20, "GlovesRed");
             // GlovesYellow GlovesRed
             rosPublisher.PublishMessage(iconMessage);
             RosJsonMessage textMessage = RosJsonMessage.CreateTextMessage(30, "Not connected\nThe cable disconnected", 0, null);
             rosPublisher.PublishMessage(textMessage);
         }
         else
         {
             RosJsonMessage toastrMessage = RosJsonMessage.CreateToastrMessage(10, "Senseglove reconnected", 5,
                                                                               new byte[] { 100, 250, 10, 255 });
             rosPublisher.PublishMessage(toastrMessage);
             //RosJsonMessage iconMessage = RosJsonMessage.CreateIconMessage(20, "Gloves-ON_01a");
             RosJsonMessage iconMessage = RosJsonMessage.CreateIconMessage(20, "GlovesGreen");
             rosPublisher.PublishMessage(iconMessage);
             RosJsonMessage textMessage = RosJsonMessage.CreateTextMessage(30, "Connected\nSensegloves fully functioning", 0, null);
             rosPublisher.PublishMessage(textMessage);
         }
         sensgloves_working = !sensgloves_working;
     }
 }
Ejemplo n.º 2
0
    void Update()
    {
        // update the temperature every second
        tempTimer -= Time.deltaTime;
        if (tempTimer <= 0)
        {
            // update the text
            RosJsonMessage textMessage = RosJsonMessage.CreateTextMessage(37, "Temperature:\n" + temperature + " C", 0, null);
            rosJsonPublisher.PublishMessage(textMessage);

            // update the graph
            RosJsonMessage demoMessage = RosJsonMessage.CreateGraphMessage(1, temperature, 0, new byte[] { 10, 10, 250 });
            rosJsonPublisher.PublishMessage(demoMessage);
            tempTimer = 1;
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            round++;
            if (round == 1)
            {
                RosJsonMessage toastrMessage = RosJsonMessage.CreateToastrMessage(10, "Toxic gas detected!", 2,
                                                                                  new byte[] { 255, 10, 0, 255 });
                rosJsonPublisher.PublishMessage(toastrMessage);
            }
            else if (round == 2)
            {
                RosJsonMessage toastrMessage = RosJsonMessage.CreateToastrMessage(10, "Smell of Zombies detected!", 2,
                                                                                  new byte[] { 255, 10, 0, 255 });
                rosJsonPublisher.PublishMessage(toastrMessage);
            }
            else if (round == 3 || round == 4 || round == 5 || round == 7 || round == 8 || round == 10 || round == 11)
            {
                temperature -= 1;
            }
            else if (round == 6)
            {
                // activate temperature graph (Temp is 1)
                GameObject.FindGameObjectWithTag("WidgetsChild").transform.GetChild(0).gameObject.SetActive(true);
            }
            else if (round == 9)
            {
                GameObject.FindGameObjectWithTag("WidgetsChild").transform.GetChild(0).gameObject.SetActive(false);
            }
        }
    }
Ejemplo n.º 3
0
        /// <summary>
        /// Shows a message on the notification widget
        /// </summary>
        /// <param name="message">Text to display</param>
        /// <param name="duration">time in seconds to display for</param>
        /// <returns>if the given message was published, i.e. not already existing</returns>
        public static bool PublishNotification(string message, float duration = 4f)
        {
            byte[]         color  = new byte[] { 0x17, 0x17, 0x17, 0xff };
            ToastrWidget   widget = (ToastrWidget)Manager.Instance.FindWidgetWithID(10);
            RosJsonMessage msg    = RosJsonMessage.CreateToastrMessage(10, message, duration, color);

            bool isOld = false;

            foreach (var template in widget.toastrActiveQueue)
            {
                if (template.toastrMessage == message && template.toastrDuration == duration)
                {
                    isOld = true;
                    break;
                }
            }
            if (!isOld)
            {
                widget.ProcessRosMessage(msg);
            }
            // published?
            return(!isOld);
        }