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)
{
}
}
}