From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
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