コード例 #1
0
ファイル: StartLogic.cs プロジェクト: IoTUDresden/HoloFlows
        void Update()
        {
            //if (isSelected || isFocused)
            //{
            //    cubeMeshRenderer.material = style.highlightMat;
            //}
            //else
            //{
            //    cubeMeshRenderer.material = cubeDefaultMat;
            //}

            if (this.c != null)
            {
                updateCounter++;
                colorUpdateCounter++;
                if (updateCounter >= Settings.requestUpdateNumber)
                {
                    if (c.connState.Equals(Connection.States.Active))
                    {
                        Item source = ItemManager.getInstance().getItem(SourceName);
                        Item target = ItemManager.getInstance().getItem(TargetName);
                        if (source is Poti && target is DimmerActuator)
                        {
                            Poti           sPoti   = (Poti)source;
                            DimmerActuator tDimmer = (DimmerActuator)target;

                            int stateDim  = int.Parse(tDimmer.state);
                            int statePoti = int.Parse(sPoti.state);
                            if (statePoti == 0)
                            {
                                StartCoroutine(tDimmer.sendOFF());
                            }
                            else if (statePoti == 100)
                            {
                                StartCoroutine(tDimmer.sendON());
                            }
                            else if (stateDim <= (statePoti - 10))
                            {
                                StartCoroutine(tDimmer.sendINCREASE());
                            }
                            else if (stateDim >= (statePoti + 10))
                            {
                                StartCoroutine(tDimmer.sendDECREASE());
                            }
                        }
                        else
                        {
                            if (source is Poti && target is HueDimmer)
                            {
                                Poti      sPoti   = (Poti)source;
                                HueDimmer hDimmer = (HueDimmer)target;
                                StartCoroutine(hDimmer.sendState(sPoti.state));
                            }
                            else
                            {
                                if (source is ColorSensor && target is HueDimmer)
                                {
                                    if (colorUpdateCounter >= 100)
                                    {
                                        byte        r, g, b;
                                        ColorSensor cs = (ColorSensor)source;
                                        r = Convert.ToByte(cs.r);
                                        g = Convert.ToByte(cs.g);
                                        b = Convert.ToByte(cs.b);

                                        float h, s, v;

                                        Color32 colRgb = new Color32(r, g, b, 255);
                                        Color.RGBToHSV(colRgb, out h, out s, out v);
                                        HueDimmer hDimmer = (HueDimmer)target;

                                        int hr = (int)(h * 360);
                                        int sr = (int)(s * 100);
                                        int vr = (int)(v * 100);

                                        StartCoroutine(hDimmer.sendColor(hr, sr, vr));
                                        colorUpdateCounter = 0;
                                    }
                                }
                            }
                        }
                    }
                    updateCounter = 0;
                }
            }
        }
コード例 #2
0
 public PotiLightConnection(string id, Poti source, DimmerActuator target) : base(id, source, target)
 {
     this.id     = id;
     this.source = source;
     this.target = target;
 }
コード例 #3
0
 public PotiHueConnection(string id, Poti source, HueDimmer target) : base(id, source, target)
 {
     this.id     = id;
     this.source = source;
     this.target = target;
 }