// Start is called before the first frame update void Start() { var credential = new ClientSecretCredential(tenantId, clientId, clientSecret); this.client = new DigitalTwinsClient(new Uri(adtInstanceUrl), credential); InvokeRepeating("CheckTwin", 5.0f, 5.0f); twin = new TwinModel() { workOrder = "Unknown", isRunning = false, isGripperOpen = true, position = new Position() { x = 0.5f, y = 0.5f, z = 0.5f } }; SendTwinUpdate(twin); }
void SendTwinUpdate(string twinId, TwinModel newTwin) { GameObject twinObject = GameObject.Find(twinId); TwinObject twinScript = twinObject.GetComponent <TwinObject>(); twinScript.UpdateTwin(newTwin); }
// Update is called once per frame void CheckTwin() { TwinModel newTwin = this.client.GetDigitalTwin <TwinModel>(twinName); if (!twin.Equals(newTwin)) { SendTwinUpdate(newTwin); twin = newTwin; } }
public override void UpdateTwin(TwinModel model) { Light light = (Light)model; updateTooltipText(light.ToString()); if (light.isRunning != isRunning) { isRunning = light.isRunning; changeChildColors(); } }
public override void UpdateTwin(TwinModel model) { Escalator escalator = (Escalator)model; updateTooltipText(escalator.ToString()); if (escalator.isRunning != isRunning) { isRunning = escalator.isRunning; changeChildColors(); } }
public override void UpdateTwin(TwinModel model) { FireAlarm alarm = (FireAlarm)model; updateTooltipText(alarm.ToString()); if (alarm.status != status) { status = alarm.status; changeChildColors(); } }
public override void UpdateTwin(TwinModel model) { CovidAlarm alarm = (CovidAlarm)model; updateTooltipText(alarm.ToString()); if (alarm.status != status) { status = alarm.status; text = alarm.printedText; changeChildColors(); } }
// Update is called once per frame IEnumerator CheckTwin() { while (true) { foreach (KeyValuePair <string, string[]> models in twinModels) { foreach (string twinId in models.Value) { TwinModel model = null; switch (models.Key) { case "Hall": model = client.GetDigitalTwin <Hall>(twinId); break; case "Light": model = client.GetDigitalTwin <Light>(twinId); break; case "CovidAlarm": model = client.GetDigitalTwin <CovidAlarm>(twinId); break; case "Clim": model = client.GetDigitalTwin <Clim>(twinId); break; case "FireAlarm": model = client.GetDigitalTwin <FireAlarm>(twinId); break; case "Escalator": model = client.GetDigitalTwin <Escalator>(twinId); break; default: break; } SendTwinUpdate(twinId, model); } } yield return(new WaitForSeconds(5)); } }
void SendTwinUpdate(TwinModel newTwin) { if (!newTwin.isGripperOpen) { controller.CloseGripper(); } else { controller.OpenGripper(); } if (newTwin.isRunning) { controller.PublishPosition(newTwin.position.x, newTwin.position.y, newTwin.position.z); } else { controller.PublishPosition(offPosition.x, offPosition.y, offPosition.z); } workOrderText.text = newTwin.workOrder; }
public abstract void UpdateTwin(TwinModel model);
public override void UpdateTwin(TwinModel model) { Clim clim = (Clim)model; updateTooltipText(clim.ToString()); }
public override void UpdateTwin(TwinModel model) { Hall hall = (Hall)model; updateTooltipText(hall.ToString()); }