From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

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

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
index 6ba1356..ba94b4d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
@@ -36,18 +36,25 @@
             viewLayout.AddChidren(functionView.FLayoutView());
 
             //鍦烘櫙
-            LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView();
+            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 securityView = new LogicView.SelectTypeView();
+            securityView.frameLayout.Y = sceneView.frameLayout.Bottom;
+            securityView.btnText.TextID = StringId.anfang;
+            securityView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png";
+            viewLayout.AddChidren(securityView.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());
+            //viewLayout.AddChidren(delayView.FLayoutView());
             #endregion
 
             #region  鎵�鏈夌偣鍑讳簨浠�
@@ -64,6 +71,16 @@
             sceneView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
                 SceneMethod();
+            };
+            //瀹夐槻鐐瑰嚮浜嬩欢
+            securityView.btnClick.MouseUpEventHandler += (sen, e) =>
+            {
+                Security security = new Security();
+                MainPage.BasePageView.AddChidren(security);
+                security.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+                //SecurityMethod(this);
             };
             //寤舵椂鐐瑰嚮浜嬩欢
             delayView.btnClick.MouseUpEventHandler += (sen, e) =>
@@ -85,14 +102,14 @@
         /// </summary>
         public void SceneMethod()
         {
-            var sceneList = LogicMethod.GetSceneList();
+            var sceneList = LogicMethod.CurrLogicMethod.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) =>
+            publicInterface.FrameOrVv(this, nameList,new List<string> { }, StringId.addSceneLogic, (index) =>
             {
                 var sceneSelecetd = sceneList[index];
                 Output outputDevice = new Output();
@@ -101,14 +118,48 @@
                 //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�;
                 outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene" }, { "value", "0" } } };
                 AddOutput(outputDevice);
-                LogicMethod.RemoveAllView();
+                LogicMethod.CurrLogicMethod.RemoveAllView();
                 AddLogic addLogic = new AddLogic();
                 MainPage.BasePageView.AddChidren(addLogic);
                 addLogic.Show();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             });
         }
-
+        /// <summary>
+        /// 娣诲姞瀹夐槻
+        /// </summary>
+        public void SecurityMethod(FrameLayout frameLayout, bool edit=false, int index1=-1)
+        {
+            List<string> stateList = new List<string>();
+            if (edit&& index1 != -1) {
+                Output output = Logic.currlogic.output[index1];
+                var security = LogicMethod.CurrLogicMethod.GetSecurity(output.sid);
+                stateList.Add(security.name);
+            }
+            var securityList = LogicMethod.CurrLogicMethod.GetSecurityList(); 
+            List<string> nameList = new List<string>();
+            for (int i = 0; i < securityList.Count; i++)
+            {
+                var security = securityList[i];
+                nameList.Add(security.name); 
+            }
+            PublicInterface publicInterface = new PublicInterface();
+            publicInterface.FrameOrVv(frameLayout, nameList, stateList, StringId.addSecurityLogic,(index) =>
+            {
+                var securitySelecetd = securityList[index];
+                Output outputDevice = new Output();
+                outputDevice.target_type = "3";
+                outputDevice.sid = securitySelecetd.sid;
+                //娌″暐浣滅敤锛屼负浜嗗彂閫佹暟鎹牸寮忕粺涓�;
+                outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "security" }, { "value", "0" } } };
+                AddOutput(outputDevice,true);
+                LogicMethod.CurrLogicMethod.RemoveAllView();
+                AddLogic addLogic = new AddLogic();
+                MainPage.BasePageView.AddChidren(addLogic);
+                addLogic.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            });
+        }
         /// <summary>
         /// 寤舵椂鏃堕棿鏂规硶
         /// </summary>
@@ -137,7 +188,7 @@
             if (edit)
             {
                 Output output = Logic.currlogic.output[index];
-                if (output.target_type == "3")
+                if (output.target_type == "4")
                 {
                     List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>;
                     foreach (var dic in dicList)
@@ -168,11 +219,11 @@
                     return;
                 }
                 Output outputTime= new Output();
-                outputTime.sid = LogicMethod.NewSid();
-                outputTime.target_type = "3";
+                outputTime.sid = LogicMethod.CurrLogicMethod.NewSid();
+                outputTime.target_type = "4";
                 Dictionary<string, string> dic = new Dictionary<string, string>();
-                LogicMethod.dictionary(dic, "key", "delay");
-                LogicMethod.dictionary(dic, "value", timepoint);
+                LogicMethod.CurrLogicMethod.dictionary(dic, "key", "delay");
+                LogicMethod.CurrLogicMethod.dictionary(dic, "value", timepoint);
                 outputTime.status.Add(dic);
                 if (edit)
                 {
@@ -187,7 +238,7 @@
                     AddOutput(outputTime);
                 }
                 fLayout.RemoveFromParent();
-                LogicMethod.RemoveAllView();
+                LogicMethod.CurrLogicMethod.RemoveAllView();
                 AddLogic addLogic = new AddLogic();
                 MainPage.BasePageView.AddChidren(addLogic);
                 addLogic.Show();
@@ -195,23 +246,34 @@
 
             };
         }
-
         /// <summary>
         /// 娣诲姞鐩爣
         /// </summary>
         /// <param name="target"></param>
-        private void AddOutput(Output target)
+        /// <param name="bool_if">琛ㄧず鍚敤涓嶅悓鏉′欢</param>
+        private void AddOutput(Output target,bool bool_if=false)
         {
             int indexValue = -1;
             for (int i = 0; i < Logic.currlogic.output.Count; i++)
             {
-                if (Logic.currlogic.output[i].sid == target.sid)
+                if (bool_if)
                 {
-                    indexValue = i;
-                    break;
+                    ///瀹夐槻鍏佽涓�绉�
+                    if (Logic.currlogic.output[i].target_type == target.target_type)
+                    {
+                        indexValue = i;
+                        break;
+                    }
+                }
+                else
+                {
+                    if (Logic.currlogic.output[i].sid == target.sid)
+                    {
+                        indexValue = i;
+                        break;
+                    }
                 }
             }
-
             if (indexValue != -1)
             {
                 Logic.currlogic.output.RemoveAt(indexValue);

--
Gitblit v1.8.0