using System; using System.Collections.Generic; using Microsoft.AppCenter.Crashes; using Shared.Common; using Shared.Phone.Device.Light; using Shared.Phone.UserCenter.Device; using ZigBee.Device; using static ZigBee.Device.BindObj; using static ZigBee.Device.Panel; namespace Shared.Phone.UserCenter.DeviceBind { public class AddScenePage : BindCommonLayout, ZigBee.Common.IStatus { /// /// 按键模式接收 /// /// Common. public void Changed(CommonDevice common) { Shared.Application.RunOnMainThread(() => { }); } /// 构造函数 /// /// public AddScenePage(ZigBee.Device.Panel key, List gwScenesList) { this.currentKey = key; gwCurScenesList = gwScenesList; } #region ◆ 变量申明__________________________ ZigBee.Device.Panel currentKey; //显示被绑定设备或场景的view VerticalScrolViewLayout midVerticalScrolViewLayout; HorizontalScrolViewLayout btnHorizontalScrolViewLayout; /// /// 按键配置的目标列表 /// List targetList = new List();//临时目标列表 List roomList = new List();//本地房间列表 public Action> action; Button btnFinifh; Button btnFloorText; Dictionary dicFloor;//楼层列表 List currentKeyAllRoomSceneList = new List(); public List gwCurScenesList = new List();//网关中的场景列表 #endregion /// /// 添加场景页显示 /// public void Show() { this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddScene)); EventHandler eHandlerBack = (sender, e) => { RemoveFromParent(); }; this.btnTitle.Width = Application.GetRealWidth(1080 - 161 - 200 - 58); this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); var btnAddFrameLayout = new FrameLayout { X = Application.GetRealWidth(830), }; this.titleFrameLayout.AddChidren(btnAddFrameLayout); btnFloorText = new Button { Width = Application.GetRealWidth(110), X = Application.GetRealWidth(15), Text = Language.StringByID(R.MyInternationalizationString.FirstFloor), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 14, IsBold = true, TextAlignment = TextAlignment.CenterRight, }; btnAddFrameLayout.AddChidren(btnFloorText); var btnBindDown = new Button { Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(69), X = Application.GetRealWidth(200 - 77), UnSelectedImagePath = "BindPic/BindDown.png", Gravity = Gravity.CenterVertical, }; btnAddFrameLayout.AddChidren(btnBindDown); btnBindDown.MouseDownEventHandler += (sender, e) => { SideslipFramelayout(); }; if (Common.Config.Instance.Home.FloorDics.Count == 0) { btnAddFrameLayout.Width = 0; } else { btnAddFrameLayout.Width = Application.GetRealWidth(200); } MidFrameLayoutContent(btnFloorText); } async void MidFrameLayoutContent(Button btnFloorText) { #region UI var btnMidTopLayout = new FrameLayout { Height = Application.GetRealHeight(389 - 184), }; this.midFrameLayout.AddChidren(btnMidTopLayout); btnHorizontalScrolViewLayout = new HorizontalScrolViewLayout { X = Application.GetRealWidth(58), }; btnMidTopLayout.AddChidren(btnHorizontalScrolViewLayout); midVerticalScrolViewLayout = new VerticalScrolViewLayout() { Y = btnMidTopLayout.Bottom, Height = Application.GetRealHeight(1145), }; this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); var bottomFrameLayout = new FrameLayout() { Width = LayoutParams.MatchParent, Height = Application.GetRealHeight(127), Y = Application.GetRealHeight(1472), }; this.midFrameLayout.AddChidren(bottomFrameLayout); btnFinifh = new Button() { Width = Application.GetRealWidth(907), Gravity = Gravity.CenterHorizontal, Radius = (uint)Application.GetRealHeight(127) / 2, TextID = R.MyInternationalizationString.Save, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, IsBold = true, TextSize = 16, }; bottomFrameLayout.AddChidren(btnFinifh); #endregion #region 数据处理 //获取楼层 dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId(); btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName(); if (Common.Config.Instance.Home.FloorDics.Count == 0) { // 获取没有楼层房间 foreach (var room in Shared.Common.Room.Lists) { if (string.IsNullOrEmpty(room.FloorId)) { roomList.Add(room); } } } else { // 获取楼层对应对房间 foreach (var room in Shared.Common.Room.Lists) { if (room.FloorId == currentKey.currentSelectFloorId) { roomList.Add(room); } } } if (roomList.Count == 0) { return; } //首次拿到所有房间中按键的目标并存储 GetALlDispalyRoomSceneList(); if (currentKeyAllRoomSceneList.Count != 0) { if (currentKey.bindList.Count != 0) { foreach (var scTemp in currentKeyAllRoomSceneList) { var sc = currentKey.bindList.Find(obj => (obj != null) && (obj.BindScenesId == scTemp.Id)); if (sc != null) { targetList.Add(scTemp); } } } } Shared.Common.Room curRoom = roomList[0]; int index = 0; RefreshRoomList(curRoom, ref index); //RefreshSceneList(roomList[index]); if (curRoom.SceneUIList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } if (targetList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } btnFinifh.MouseUpEventHandler += async (sender, e) => { bool isFinish = false; try { if (targetList.Count == 0) { Application.RunOnMainThread(() => { var myTip = new Tip(); myTip.Direction = AMPopTipDirection.None; myTip.CloseTime = 2; myTip.Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty); myTip.Show(Common.CommonPage.Instance); }); return; } Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); if (currentKey.bindList.Count != 0) { var bindResult = await currentKey.ClearBindInfoAsync(); if (bindResult != null && bindResult.clearBindInfoResponseData != null) { if (bindResult.clearBindInfoResponseData.Result != 0) { Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); CommonPage.Loading.Hide(); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } else { currentKey.bindList.Clear(); } } else { Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); var myTip = new Tip(); myTip.Direction = AMPopTipDirection.None; myTip.CloseTime = 2; myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); myTip.Show(Common.CommonPage.Instance); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } } var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Scene_Trigger); if (temp == null || temp.setWritableValueResponData == null) { Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); var myTip = new Tip(); myTip.Direction = AMPopTipDirection.None; myTip.CloseTime = 2; myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); myTip.Show(Common.CommonPage.Instance); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } if (temp.setWritableValueResponData.Status != 0) { Application.RunOnMainThread(() => { var myTip = new Tip(); myTip.Direction = AMPopTipDirection.None; myTip.CloseTime = 2; myTip.Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode); myTip.Show(Common.CommonPage.Instance); CommonPage.Loading.Hide(); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } else { currentKey.panelMode = 1; var addBindeDev = new AddBindData(); addBindeDev.DeviceAddr = currentKey.DeviceAddr; addBindeDev.Epoint = currentKey.DeviceEpoint; foreach (var de in targetList) { if (de.DeviceAddr != null) { var addBindInfo = new AddBindListObj(); addBindInfo.BindType = 0; addBindInfo.BindCluster = 6; addBindInfo.BindMacAddr = de.DeviceAddr; addBindInfo.BindEpoint = de.DeviceEpoint; addBindeDev.BindList.Add(addBindInfo); } else { var addBindInfo = new AddBindListObj(); addBindInfo.BindType = 1; addBindInfo.BindCluster = 6; var sc1 = (SceneUI)de; addBindInfo.BindScenesId = sc1.Id; addBindeDev.BindList.Add(addBindInfo); } } var dev = new AddedDeviceBindResponseAllData(); dev = await currentKey.AddDeviceBindAsync(addBindeDev); if (dev.addedDeviceBindResponseData == null) { Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } else { if (dev.addedDeviceBindResponseData.Result == 0) { currentKey.bindList = dev.addedDeviceBindResponseData.BindList; targetList.Clear(); isFinish = true; if (isFinish) { if (action != null) { action(currentKey.bindList); } this.RemoveFromParent(); } else { this.RemoveFromParent(); } Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; }); } else if (dev.addedDeviceBindResponseData.Result == 1) { Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } else { Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindUnknownError), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); }); btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } } } } catch { } }; #endregion } /// /// 按键绑定场景表显示 /// /// Gateway. /// Key. void RefreshRoomList(Shared.Common.Room curRoom, ref int index2) { if (roomList.Count == 0) { return; } btnHorizontalScrolViewLayout.RemoveAll(); Button curentOldRoom = null; FrameLayout curentOldRoomFrameLayout = null; int index = 0; var roomTempList = new List(); for (int i = 0; i < roomList.Count; i++) { var room = roomList[i]; //如果房间为喜爱,则不显示 if (room.IsLove == true) { continue; } //如果房间中没有场景,则不显示 if (room.SceneUIList.Count == 0) { continue; } else { roomTempList.Add(room); } if (roomTempList.Count != 0) { curRoom = roomTempList[0]; } var btnRoomFrameLayout = new FrameLayout { Height = Application.GetRealHeight(159), Width = Application.GetRealWidth(255), Y = Application.GetRealHeight(23), X = Application.GetRealWidth(5), BackgroundImagePath = "Item/RoomIconBackground.png", BorderWidth = 1, }; btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayout); var btnRoom = new Button { Height = Application.GetRealHeight(58), Width = Application.GetRealWidth(127), Y = Application.GetRealHeight(58), X = Application.GetRealWidth(14), Text = room.Name, TextSize = 12, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, Gravity = Gravity.Center, }; btnRoomFrameLayout.AddChidren(btnRoom); btnRoom.IsSelected = false; if (index == 0) { btnRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite; curentOldRoom = btnRoom; curentOldRoomFrameLayout = btnRoomFrameLayout; } EventHandler eHandlerRoom = (sender, e) => { if (!btnRoom.IsSelected) { if (curentOldRoom != null) { curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; } curentOldRoom = btnRoom; curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite; } if (btnRoomFrameLayout.BorderWidth == 1) { if (curentOldRoomFrameLayout != null) { curentOldRoomFrameLayout.BorderWidth = 1; curentOldRoomFrameLayout.BorderColor = Shared.Common.ZigbeeColor.Current.XMOrange; curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackground.png"; } curentOldRoomFrameLayout = btnRoomFrameLayout; curentOldRoomFrameLayout.BorderWidth = 0; curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; } curRoom = room; currentKey.RoomId = room.Id; if (curRoom.SceneUIList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } if (targetList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } RefreshSceneList(curRoom); }; btnRoom.MouseUpEventHandler += eHandlerRoom; btnRoomFrameLayout.MouseUpEventHandler += eHandlerRoom; index++; } BindInfo.FinishDisplay(roomTempList, btnFinifh); RefreshSceneList(curRoom); } //按键绑定场景表显示 void RefreshSceneList(Shared.Common.Room curRoom) { midVerticalScrolViewLayout.RemoveAll(); if (curRoom.SceneUIList.Count == 0) { return; } Button oldScene = null; int curIndex = 0; var currentSceneUIList = GetMatchSceneUIList(curRoom); if (currentSceneUIList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; return; } foreach (var scene in currentSceneUIList) { #region 绑定表UI显(无数据处理) var rowLayout = new FrameLayout() { Height = Application.GetRealHeight(23 + 127), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, }; midVerticalScrolViewLayout.AddChidren(rowLayout); var devicePic = new Button() { X = Application.GetMinRealAverage(58), Y = Application.GetMinRealAverage(46), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), UnSelectedImagePath = "Scene/SceneIcon.png",// scene.IconPath, }; rowLayout.AddChidren(devicePic); var btnBindName = new Button() { Width = Application.GetRealWidth(790), X = devicePic.Right + Application.GetRealWidth(20), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, TextSize = 15, }; rowLayout.AddChidren(btnBindName); var btnChoose = new Button() { Width = Application.GetRealWidth(60), Height = Application.GetRealHeight(60), X = Application.GetRealWidth(861 + 81), Y = Application.GetRealHeight(35), SelectedImagePath = "DoorLock/SelectedIcon.png", Visible = false, }; rowLayout.AddChidren(btnChoose); var line2 = new Button() { Y = rowLayout.Height - 1, X = devicePic.Right + Application.GetRealWidth(20), Width = Application.GetRealWidth(965 - 116), Height = 1, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; rowLayout.AddChidren(line2); if (curIndex == curRoom.SceneUIList.Count - 1) { line2.Visible = false; } #endregion if (scene.Name == null) { btnBindName.Text = Language.StringByID(R.MyInternationalizationString.Unknown); } else { btnBindName.Text = scene.Name; } if (targetList.Count == 0) { foreach (var bindedSc in currentKey.bindList) { if (scene.Id == bindedSc.BindScenesId) { btnChoose.IsSelected = true; btnChoose.Visible = true; oldScene = btnChoose; targetList.Add(scene); } } } else { foreach (var bindedSc in targetList) { var sc1 = (SceneUI)bindedSc; if (scene.Id == sc1.Id) { btnChoose.IsSelected = true; btnChoose.Visible = true; oldScene = btnChoose; } } } bool IsTip = false; EventHandler hander = (sender, e) => { if (currentKey.bindList.Count != 0) { if (IsTip) { return; } IsTip = true; if (btnChoose.IsSelected) { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindExist), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnBindName); return; } } if (!btnChoose.IsSelected) { if (oldScene != null) { oldScene.IsSelected = false; oldScene.Visible = false; } oldScene = btnChoose; oldScene.IsSelected = true; oldScene.Visible = true; currentKey.curSelectSceneID = scene.Id.ToString(); targetList.Clear(); targetList.Add(scene); } if (targetList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } }; rowLayout.MouseUpEventHandler += hander; devicePic.MouseUpEventHandler += hander; btnBindName.MouseUpEventHandler += hander; btnChoose.MouseUpEventHandler += hander; curIndex++; } if (targetList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } } // 侧边导航栏 void SideslipFramelayout() { var dialog = new Dialog { }; dialog.Show(); var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; dialog.AddChidren(flMain); flMain.MouseUpEventHandler += (sender11, e11) => { dialog.Close(); }; var sidelipFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(783), Width = Application.GetRealWidth(449), Y = Application.GetRealHeight(161), X = Application.GetRealWidth(596), BackgroundImagePath = "DoorLock/SideslipPic.png", }; flMain.AddChidren(sidelipFrameLayout); var btnSelectFloor = new Button() { Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(81), Y = Application.GetRealHeight(81), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 14, IsBold = true, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.SelectFloor, }; sidelipFrameLayout.AddChidren(btnSelectFloor); var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(600), Y = btnSelectFloor.Bottom, }; sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); Button oldbutton = null; Button oldbuttonText = null; foreach (var floorId in dicFloor.Keys) { var rowFrameLayout = new RowLayout() { Height = Application.GetRealHeight(150), LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, X = Application.GetRealWidth(81), }; sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); var btnAllMethod = new Button() { Width = Application.GetRealWidth(81), Height = Application.GetRealHeight(81), Y = Application.GetRealHeight(55), UnSelectedImagePath = "Floor/Floor.png", SelectedImagePath = "Floor/FloorSelected.png", }; rowFrameLayout.AddChidren(btnAllMethod); var btnMethodText = new Button() { Width = Application.GetRealWidth(311), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(92), Y = Application.GetRealHeight(69), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, Text = dicFloor[floorId], }; rowFrameLayout.AddChidren(btnMethodText); if (currentKey.currentSelectFloorId == floorId) { btnAllMethod.IsSelected = true; btnAllMethod.IsBold = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; } string curFloorId = floorId; EventHandler hander = (sender, e) => { if (currentKey.currentSelectFloorId == curFloorId) { return; } currentKey.currentSelectFloorId = curFloorId; btnFloorText.Text = dicFloor[floorId]; roomList.Clear(); if (!btnMethodText.IsSelected) { if (oldbutton != null) { oldbutton.IsSelected = false; } if (oldbuttonText != null) { oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; } oldbutton = btnMethodText; oldbuttonText = btnMethodText; btnMethodText.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; oldbuttonText.IsBold = true; } //获取楼层对应的房间 foreach (var room in Shared.Common.Room.Lists) { if (room.FloorId == currentKey.currentSelectFloorId) { roomList.Add(room); } } Shared.Common.Room curRoom = new Shared.Common.Room(); if (roomList.Count != 0) { curRoom = roomList[0]; } else { curRoom = new Shared.Common.Room(); roomList.Add(curRoom); } int index = 0; RefreshRoomList(curRoom, ref index); RefreshSceneList(roomList[0]); if (targetList.Count == 0) { btnFinifh.Enable = false; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { btnFinifh.Enable = true; btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } dialog.Close(); }; btnAllMethod.MouseUpEventHandler += hander; rowFrameLayout.MouseUpEventHandler += hander; btnMethodText.MouseUpEventHandler += hander; } } //当前按键所有显示房间的所有场景处理 List GetALlDispalyRoomSceneList() { currentKeyAllRoomSceneList.Clear(); // 获取所有房间 foreach (var room in Shared.Common.Room.Lists) { //如果房间为喜爱,则不显示 if (room.IsLove == true) { continue; } //如果房间中没有场景,则不显示 if (room.SceneUIList.Count == 0) { continue; } foreach (var scene in room.SceneUIList) { currentKeyAllRoomSceneList.Add(scene); } } return currentKeyAllRoomSceneList; } //获取网关中存在的本地场景列表 List GetMatchSceneUIList(Shared.Common.Room curRoom) { var tempSceneUIList = new List(); foreach (var scene in curRoom.SceneUIList) { var gwSc = gwCurScenesList.Find(obj => (obj.ScenesId == scene.Id)); if (gwSc != null) { tempSceneUIList.Add(scene); } } return tempSceneUIList; } public void DeviceInfoChange(CommonDevice common, string typeTag) { } public void ChangedILogicStatus(ZigBee.Device.Logic logic) { } public void ChangedISceneStatus(Scene scene) { } } }