// 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; } }
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); } } }
/// <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); }