From adc150efb13a0506f45a3c344c3ee2ef2dba8e90 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:19:13 +0800
Subject: [PATCH] 合并嘉乐lc代码

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs |  227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 227 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
new file mode 100644
index 0000000..d185e19
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
@@ -0,0 +1,227 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared;
+namespace HDL_ON.UI.UI2.Intelligence.Automation
+{
+    public class AddTarget : FrameLayout
+    {
+        public AddTarget()
+        {
+            Tag = "Logic";
+        }
+        public void Show()
+        {
+
+            LogicView.TopView topView = new LogicView.TopView();
+            this.AddChidren(topView.FLayoutView());
+            topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
+            {
+                RemoveFromParent();
+            };
+            topView.topNameBtn.TextID = StringId.addtarget;
+
+            FrameLayout viewLayout = new FrameLayout
+            {
+                Y = Application.GetRealHeight(64),
+                Width = Application.GetRealWidth(LogicView.TextSize.view375),
+                Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64),
+                BackgroundColor = CSS.CSS_Color.viewMiddle,
+            };
+            this.AddChidren(viewLayout);
+            #region 鍔熻兘
+            //鍔熻兘
+            LogicView.SelectTypeView functionView = new LogicView.SelectTypeView();
+            functionView.btnText.TextID = StringId.funLogic;
+            functionView.btnIcon.UnSelectedImagePath = "LogicIcon/functionicon.png";
+            viewLayout.AddChidren(functionView.FLayoutView());
+
+            //鍦烘櫙
+            LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView();
+            sceneView.frameLayout.Y = functionView.frameLayout.Bottom;
+            sceneView.btnText.TextID = StringId.Scenes;
+            sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png";
+            viewLayout.AddChidren(sceneView.FLayoutView());
+
+            //寤舵椂
+            LogicView.SelectTypeView delayView = new LogicView.SelectTypeView();
+            delayView.frameLayout.Y = sceneView.frameLayout.Bottom;
+            delayView.btnText.TextID = StringId.delayLogic;
+            delayView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png";
+            //viewLayout.AddChidren(delayView.FLayoutView());
+            #endregion
+
+            #region  鎵�鏈夌偣鍑讳簨浠�
+            //鍔熻兘鐐瑰嚮浜嬩欢
+            functionView.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                FunTpye funTpye = new FunTpye();
+                MainPage.BasePageView.AddChidren(funTpye);
+                funTpye.Show(LogicMethod.target_if);
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+            //鍦烘櫙鐐瑰嚮浜嬩欢
+            sceneView.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                SceneMethod();
+            };
+            //寤舵椂鐐瑰嚮浜嬩欢
+            delayView.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+
+                FrameLayout fLayout = new FrameLayout
+                {
+                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+                };
+                this.AddChidren(fLayout);
+                Delayed(fLayout,false,1000);
+            };
+            #endregion
+
+        }
+
+        /// <summary>
+        /// 娣诲姞鍦烘櫙
+        /// </summary>
+        public void SceneMethod()
+        {
+            var sceneList = LogicMethod.GetSceneList();
+            List<string> nameList = new List<string>();
+            for (int i = 0; i < sceneList.Count; i++) {
+                var scene = sceneList[i];
+                nameList.Add(scene.name);
+            }
+            PublicInterface publicInterface = new PublicInterface();
+            publicInterface.FrameOrVv(this, nameList, StringId.addSceneLogic, (index) =>
+            {
+                var sceneSelecetd = sceneList[index];
+                Output outputDevice = new Output();
+                outputDevice.target_type = "2";
+                outputDevice.sid = sceneSelecetd.sid;
+                //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�;
+                outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene" }, { "value", "0" } } };
+                AddOutput(outputDevice);
+                LogicMethod.RemoveAllView();
+                AddLogic addLogic = new AddLogic();
+                MainPage.BasePageView.AddChidren(addLogic);
+                addLogic.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            });
+        }
+
+        /// <summary>
+        /// 寤舵椂鏃堕棿鏂规硶
+        /// </summary>
+        /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+        /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
+        /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
+        public void Delayed(FrameLayout fLayout, bool edit, int index)
+        {
+            LogicView.TimeView timePointView = new LogicView.TimeView();
+            timePointView.FLayoutView(fLayout);
+            EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                fLayout.RemoveFromParent();
+            };
+            //鍙栨秷鐐瑰嚮浜嬩欢
+            timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
+
+            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
+            timePointView.mUIPickerView.setNPicker(timePointView.GethStringList0(), timePointView.GetmStringList(), null);
+            //榛樿鍒濆閫変腑鐘舵��
+            timePointView.mUIPickerView.setCurrentItems(0, 5, 0);
+            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
+            string timepoint = "00:05";
+
+            if (edit)
+            {
+                Output output = Logic.currlogic.output[index];
+                if (output.target_type == "3")
+                {
+                    List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>;
+                    foreach (var dic in dicList)
+                    {
+                        string timeValue = dic["value"];
+                        int hIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GethIntList());
+                        int mIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList());
+                        //鏇存柊鍒濆鐘舵��
+                        timePointView.mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
+                        timepoint = timeValue;
+                    }
+                }
+            }
+
+
+            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
+            timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+            {
+                string hour = timePointView.GethStringList0()[index1].Split(' ')[0];
+                string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
+                timepoint = hour + ":" + minuet;
+            };
+            //纭畾鐐瑰嚮浜嬩欢
+            timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
+            {
+                if (timepoint=="00:00") {
+                    //鎻愮ず
+                    return;
+                }
+                Output outputTime= new Output();
+                outputTime.sid = LogicMethod.NewSid();
+                outputTime.target_type = "3";
+                Dictionary<string, string> dic = new Dictionary<string, string>();
+                LogicMethod.dictionary(dic, "key", "delay");
+                LogicMethod.dictionary(dic, "value", timepoint);
+                outputTime.status.Add(dic);
+                if (edit)
+                {
+                    //绉婚櫎鏃ф暟鎹�
+                    Logic.currlogic.output.RemoveAt(index);
+                    //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
+                    Logic.currlogic.output.Insert(index, outputTime);
+                }
+                else
+                {
+                    //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
+                    AddOutput(outputTime);
+                }
+                fLayout.RemoveFromParent();
+                LogicMethod.RemoveAllView();
+                AddLogic addLogic = new AddLogic();
+                MainPage.BasePageView.AddChidren(addLogic);
+                addLogic.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            };
+        }
+
+        /// <summary>
+        /// 娣诲姞鐩爣
+        /// </summary>
+        /// <param name="target"></param>
+        private void AddOutput(Output target)
+        {
+            int indexValue = -1;
+            for (int i = 0; i < Logic.currlogic.output.Count; i++)
+            {
+                if (Logic.currlogic.output[i].sid == target.sid)
+                {
+                    indexValue = i;
+                    break;
+                }
+            }
+
+            if (indexValue != -1)
+            {
+                Logic.currlogic.output.RemoveAt(indexValue);
+                Logic.currlogic.output.Insert(indexValue, target);
+            }
+            else
+            {
+                Logic.currlogic.output.Add(target);
+            }
+
+        }
+    }
+}

--
Gitblit v1.8.0