From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs |  205 +++++++++++++++++++++------------------------------
 1 files changed, 85 insertions(+), 120 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
index 839a0e8..05dee0c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
@@ -10,6 +10,8 @@
 using HDL_ON.UI.UI2.Intelligence.Automation;
 using System.Linq;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
+using System.Reflection;
+using System.Collections;
 
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks
 {
@@ -63,9 +65,13 @@
         /// <summary>
         /// 璁板綍褰撳墠璁惧
         /// </summary>
-        public IntType currnetIntType= IntType.none;
+        public IntType currnetIntType = IntType.none;
+        /// <summary>
+        /// 璁板綍褰撳墠閫夋嫨鐨勭储寮曞��
+        /// </summary>
+        public int indexValue = -1;
 
-        
+
 
         public VerticalScrolViewLayout vv;
         #endregion
@@ -122,8 +128,10 @@
             {
                 Y = topView.fLayout.Bottom,
                 Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
+
             };
             this.AddChidren(vv);
+           
             //杩涙潵榛樿鎾斁鍣ㄧ晫闈�
             //this.SwitchUI(IntType.Player);
         }
@@ -135,6 +143,8 @@
             //杩斿洖
             this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
             {
+                //娓呯┖鎵�鏈夌紦瀛樻暟鎹�
+                AksCommonMethod.Current.ClearData();
                 this.RemoveFromParent();
             };
             //璁剧疆
@@ -184,6 +194,7 @@
                 {
                     this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId);
                     this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId);
+                    //TestData(this.remoteControlList);
                 }
                 catch { }
                 finally
@@ -194,16 +205,19 @@
 
                         if (this.remoteControlList.Count > 0)
                         {
-                            if (string.IsNullOrEmpty(this.GetValueString(IntType.Player)))
-                            {
-                                //榛樿鍙栫涓�浣�
-                                this.SwitchUI((IntType)this.remoteControlList[0].type);
-                            }
-                            else
+                            if (this.isExistType(IntType.Player))
                             {
                                 //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず
                                 this.SwitchUI(IntType.Player);
                             }
+                            else
+                            {
+                                //榛樿鍙栫涓�浣�
+                                this.indexValue = 0;
+                                var type = (IntType)this.remoteControlList[this.indexValue].type;
+                                this.SwitchUI(type);
+                            }
+
                         }
 
                     });
@@ -211,14 +225,15 @@
             });
         }
         /// <summary>
-        /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
+        /// 鐣岄潰鏄剧ず(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
         /// </summary>
         private void SwitchUI(IntType type)
         {
-            if (this.currnetIntType == type)
-            {
-                return;
-            }
+            //if (this.currnetIntType == type)
+            //{
+            //    //鍘绘帀鍒ゆ柇绫诲瀷,鍥犱负鍙兘瀛樺湪澶氫釜鍚岀被鍨�
+            //    return;
+            //}
             if (IntType.none == type)
             {
                 return;
@@ -228,15 +243,15 @@
                 return;
             }
             this.vv.RemoveAll();
-            this.currnetIntType = type;
+            var remoteContro = this.remoteControlList[this.indexValue];
             switch (type)
             {
                 case IntType.Player:
                     {
-                        MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList);
+                        MusicPage musicPage = new MusicPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(musicPage);
                         musicPage.Show();
-                        musicPage.action += (type) =>
+                        musicPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -244,10 +259,10 @@
                     break;
                 case IntType.HiFi:
                     {
-                        GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList);
+                        GfPage gfPage = new GfPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(gfPage);
                         gfPage.Show();
-                        gfPage.action += (type) =>
+                        gfPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -257,10 +272,10 @@
                 case IntType.TV:
                     {
 
-                        TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList);
+                        TvPage tvPage = new TvPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(tvPage);
                         tvPage.Show();
-                        tvPage.action += (type) =>
+                        tvPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -268,10 +283,10 @@
                     break;
                 case IntType.STB:
                     {
-                        JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList);
+                        JdhPage jdhPage = new JdhPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(jdhPage);
                         jdhPage.Show();
-                        jdhPage.action += (type) =>
+                        jdhPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -279,10 +294,10 @@
                     break;
                 case IntType.Projector:
                     {
-                        TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList);
+                        TyyPage tyyPage = new TyyPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(tyyPage);
                         tyyPage.Show();
-                        tyyPage.action += (type) =>
+                        tyyPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -291,10 +306,10 @@
                 case IntType.Control:
                     {
 
-                        YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList);
+                        YkqPage ykqPage = new YkqPage(remoteContro, this.sequencerList);
                         this.vv.AddChidren(ykqPage);
                         ykqPage.Show();
-                        ykqPage.action += (type) =>
+                        ykqPage.action += (deviceType) =>
                         {
                             SelectedType();
                         };
@@ -306,43 +321,35 @@
 
         }
         /// <summary>
-        /// 閫変腑绫诲瀷寮规(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
+        /// 鐣岄潰鍒囨崲(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
         /// </summary>
         private void SelectedType()
         {
-            var deviceTypeList = GetTypeDictionary().Values.ToList();
+            var deviceTypeList = GetRemoteControlList();
             ///涔嬪墠鐨勭姸鎬佹枃鏈�
-            string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType);
+            string ccurrnetDeviceStr = "";
+            if (indexValue != -1 && indexValue < deviceTypeList.Count)
+            {
+                ccurrnetDeviceStr = deviceTypeList[indexValue].name;
+            }
             PublicInterface conditionView = new PublicInterface();
             conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr
-               , (valueStr) =>
+               , (index) =>
                {
-                   //鐣岄潰鏄剧ず閫変腑鍊�
-                   var intType = this.GetKeyIntType(valueStr);
-                   this.SwitchUI(intType);
+                   if (this.indexValue == index)
+                   {
+                       //鍚屼竴涓澶囦笉澶勭悊;
+                       return;
+                   }
+                   var remoteControl = deviceTypeList[index];
+                   this.indexValue = index;
+                   this.currnetIntType = (IntType)remoteControl.type;
+                   this.SwitchUI((IntType)remoteControl.type);
 
                });
         }
 
-        /// <summary>
-        /// 鏌ユ壘閬ユ帶鍣�
-        /// </summary>
-        /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
-        /// <returns>涓嶄細涓簄ull</returns>
-        private RemoteControlEntity GetRemoteControl(int type)
-        {
-            if (this.remoteControlList == null || this.remoteControlList.Count == 0)
-            {
-                return new RemoteControlEntity();
-            }
-            var re = this.remoteControlList.Find((o) => o.type == type);
-            if (re == null)
-            {
-                re = new RemoteControlEntity();
-            }
-            //re.deviceId = this.device.deviceId;
-            return re;
-        }
+
 
 
         public enum IntType
@@ -378,92 +385,50 @@
         }
 
         /// <summary>
-        /// 鍒濆鍖栧瓧鍏�
+        /// 鑾峰彇閬ユ帶鍣ㄥ垪琛�
         /// </summary>
         /// <returns></returns>
-        private Dictionary<IntType, string> GetTypeDictionary()
+        private List<RemoteControlEntity> GetRemoteControlList()
         {
             if (this.remoteControlList == null || this.remoteControlList.Count == 0)
             {
-                return new Dictionary<IntType, string>();
+                return new List<RemoteControlEntity>();
             }
-            var dic = new Dictionary<IntType, string>();
-            foreach (var o in this.remoteControlList)
-            {
-                switch (o.type)
-                {
-                    case (int)IntType.Player:
-                        {
-                            dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi));
-                        }
-                        break;
-                    case (int)IntType.HiFi:
-                        {
-                            dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan));
-                        }
-                        break;
-                    case (int)IntType.TV:
-                        {
-                            dic.Add(IntType.TV, Language.StringByID(StringId.dianshi));
-                        }
-                        break;
-
-                    case (int)IntType.STB:
-                        {
-                            dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe));
-                        }
-                        break;
-                    case (int)IntType.Projector:
-                        {
-                            dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi));
-                        }
-                        break;
-                    case (int)IntType.Control:
-                        {
-                            dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi));
-                        }
-                        break;
-                }
-            }
-            return dic;
+            return this.remoteControlList;
         }
+
         /// <summary>
-        /// 鑾峰彇璁惧绫诲瀷
+        /// 鏄惁瀛樺湪绫诲瀷
         /// </summary>
-        /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
+        /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
         /// <returns></returns>
-        private IntType GetKeyIntType(string value)
+        private bool isExistType(IntType type)
         {
-            var dic = this.GetTypeDictionary();
-            foreach (var d in dic)
+
+            var remoteControls = this.GetRemoteControlList();
+            for (int i = 0; i < remoteControls.Count; i++)
             {
-                if (d.Value == value)
+                var re = remoteControls[i];
+                if ((IntType)re.type == type)
                 {
-                    return d.Key;
+                    this.indexValue = i;
+                    return true;
                 }
+
             }
-            return IntType.none;
-        }
-        /// <summary>
-        /// 鑾峰彇璁惧鍚嶇О
-        /// </summary>
-        /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
-        /// <returns></returns>
-        private string GetValueString(IntType key)
-        {
-            var dic = this.GetTypeDictionary();
-            foreach (var d in dic)
-            {
-                if (d.Key == key)
-                {
-                    return d.Value;
-                }
-            }
-            return "";
+            return false;
         }
 
 
-        
+        private void TestData(List<RemoteControlEntity> list)
+        {
+            list.Add(new RemoteControlEntity { deviceId = "33331", rcId = "1", type = 1, name = "鎾斁鍣�" });
+            list.Add(new RemoteControlEntity { deviceId = "33332", rcId = "2", type = 2, name = "鍔熸斁" });
+            list.Add(new RemoteControlEntity { deviceId = "33333", rcId = "3", type = 3, name = "鐢佃" });
+            list.Add(new RemoteControlEntity { deviceId = "33334", rcId = "4", type = 4, name = "鏈洪《鐩�" });
+            list.Add(new RemoteControlEntity { deviceId = "33335", rcId = "5", type = 5, name = "鎶曞奖浠�" });
+            list.Add(new RemoteControlEntity { deviceId = "33336", rcId = "6", type = 6, name = "涓囪兘閬ユ帶鍣�" });
+        }
 
 
     }

--
Gitblit v1.8.0