From 6edb41a89f56634a0684dedf65b29f9277002c7f Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期四, 21 十一月 2019 17:58:15 +0800 Subject: [PATCH] 2019.11.21 --- ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs | 147 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 141 insertions(+), 6 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs index 9318ae8..9db4035 100644 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs @@ -26,9 +26,17 @@ /// </summary> private Button CardBG; /// <summary> + /// sceneBG + /// </summary> + public Button sceneBG; + /// <summary> /// v_Selected /// </summary> private bool v_Selected; + /// <summary> + /// scene + /// </summary> + public SceneUI scene; /// <summary> /// IsSelected @@ -61,9 +69,10 @@ /// <summary> /// init /// </summary> - public void Init() + public void Init(SceneUI sceneUI) { - + this.scene = sceneUI; + CardBG = new Button { Width = Application.GetMinRealAverage(487), @@ -82,7 +91,7 @@ }; AddChidren(SceneIcon); - var sceneBG = new Button + sceneBG = new Button { Width = Application.GetMinRealAverage(487), Height = Application.GetMinRealAverage(348), @@ -99,7 +108,6 @@ Height = Application.GetMinRealAverage(63), TextColor = ZigbeeColor.Current.GXCTextSelectedColor3, TextAlignment = TextAlignment.CenterLeft, - Text="58s" }; AddChidren(TimeButton); @@ -123,12 +131,25 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor, TextAlignment = TextAlignment.CenterLeft, - Text="璧峰簥" }; AddChidren(SceneNameButton); - + + InitStatu(); } + private void InitStatu() + { + SetIimeByDelayTime(scene.SceneDelayTime); + SetSceneNameText(scene.Name); + SetIcon(scene.IconPath); + SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName)); + + TimeButton.MouseUpEventHandler += SetTimeEvents; + CollectButton.MouseUpEventHandler += CollectionEvent; + SceneIcon.MouseUpEventHandler += SceneUpHandler; + sceneBG.MouseUpEventHandler += SceneUpHandler; + SceneNameButton.MouseUpEventHandler += SceneUpHandler; + } /// <summary> /// SetTimeText @@ -151,6 +172,22 @@ TimeButton.Height = Application.GetMinRealAverage(63); TimeButton.UnSelectedImagePath = "Item/Time.png"; TimeButton.Text = string.Empty; + } + + /// <summary> + /// SetIimeByDelayTime + /// </summary> + /// <param name="time"></param> + public void SetIimeByDelayTime(int time) + { + if (time > 0) + { + SetTimeText(CommonFormResouce.GetTimeString(time)); + } + else + { + SetTimeImage(); + } } /// <summary> @@ -179,5 +216,103 @@ { CollectButton.IsSelected = collect; } + + /// <summary> + /// 璋冪敤鍦烘櫙 + /// </summary> + /// <param name="sender"></param> + /// <param name="args"></param> + private async void SceneUpHandler(object sender, MouseEventArgs args) + { + if (scene.RemainTime > 0 && scene.SceneDelayTime == 0) + { + return; + } + //1鎴愬姛 0澶辫触 + //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず + // Error鍙傛暟鍚箟 + //<para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para> + //<para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁 + //<para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para> + //<para>4锛氬叾浠栭敊璇�</para> + //<para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para> + var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime); + + if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) + { + return; + } + if (sceneOpenAllData.sceneOpenData.Result == 0) + { + if (sceneOpenAllData.errorResponData == null) + { + return; + } + CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); + } + + var times = scene.SceneDelayTime; + scene.RemainTime = times; + scene.SceneDelayTime = 0; + new System.Threading.Thread(() => + { + while (times > 0) + { + System.Threading.Thread.Sleep(1000); + Application.RunOnMainThread(() => + { + SetTimeText(CommonFormResouce.GetTimeString(times)); + }); + times -= 1; + } + Application.RunOnMainThread(() => + { + SetTimeImage(); + }); + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 鏀惰棌 + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + private void CollectionEvent(object sender,MouseEventArgs mouseEventArgs) + { + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + Shared.Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene); + } + else + { + Shared.Common.Room.CurrentRoom.GetLoveRoom().RemoveScene(scene); + } + scene.Save(); + } + + /// <summary> + /// setTimeEvent + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + private void SetTimeEvents(object sender, MouseEventArgs mouseEventArgs) + { + if (scene.RemainTime > 0) + { + return; + } + var timeSelect = new SelectTime(); + CommonPage.Instance.AddChidren(timeSelect); + timeSelect.TempTime = scene.DelayTime; + timeSelect.Init(); + timeSelect.TimeAction = (t) => + { + scene.SceneDelayTime = t; + SetIimeByDelayTime(t); + }; + } + } } -- Gitblit v1.8.0