using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
public class SceneControlZone :FrameLayout
{
Scene scene;
Button btnIcon;
Button btnName;
Button btnFromFloor;
Button btnCollectionIcon;
public SceneControlZone(Scene inParScene)
{
scene = inParScene;
Gravity = Gravity.CenterHorizontal;
Width = Application.GetRealWidth(343);
Height = Application.GetRealHeight(65);
Radius = (uint)Application.GetMinRealAverage(12);
BorderColor = 0x00FFFFFF;
BorderWidth = 1;
BackgroundColor = CSS_Color.MainBackgroundColor;
Tag = "Scene-" + scene.sid;
}
///
/// 加载功能类型控制卡片
///
public void LoadView()
{
btnIcon = new Button()
{
X = Application.GetRealWidth(10),
Y = Application.GetRealHeight(15),
Width = Application.GetRealWidth(32),
Height = Application.GetRealWidth(32),
};
this.AddChidren(btnIcon);
btnName = new Button()
{
X = Application.GetRealWidth(8 + 10 + 32),
Y = Application.GetRealHeight(10),
Width = Application.GetRealWidth(200),
Height = Application.GetRealHeight(24),
Text = scene.name,
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
};
this.AddChidren(btnName);
btnFromFloor = new Button()
{
X = Application.GetRealWidth(8 + 10 + 32),
Y = Application.GetRealHeight(10 + 24),
Width = Application.GetRealWidth(200),
Height = Application.GetRealHeight(18),
Text = scene.GetRoomListName(),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
this.AddChidren(btnFromFloor);
btnCollectionIcon = new Button()
{
X = Application.GetRealWidth(299),
Y = Application.GetRealHeight(10),
Width = Application.GetMinRealAverage(40),
Height = Application.GetMinRealAverage(40),
SelectedImagePath = "Collection/CollectionIcon.png",
UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
IsSelected = scene.collect
};
this.AddChidren(btnCollectionIcon);
btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png";
if (scene.sceneType == SceneType.MovieScene)
{
Button movieIcon = new Button()
{
X = Application.GetRealWidth(52),
Y = Application.GetRealHeight(14),
Width = Application.GetRealWidth(16),
Height = Application.GetRealWidth(16),
UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png",
};
this.AddChidren(movieIcon);
btnName.X = Application.GetRealWidth(52 + 16);
}
//加载场景控制事件
LoadEvent_ControlScene(btnName, btnFromFloor, scene);
LoadEvent_FunctionCollection(btnCollectionIcon, scene);
}
///
/// 加载功能收藏按钮事件
///
void LoadEvent_FunctionCollection(Button btnCollectionIcon, Scene scene)
{
btnCollectionIcon.MouseUpEventHandler += (sender, e) =>
{
btnCollectionIcon.IsSelected = scene.collect = !btnCollectionIcon.IsSelected;
scene.CollectScene();
};
}
///
/// 加载场景控制事件
///
void LoadEvent_ControlScene(Button btnName, Button btnFromFloor, Scene scene)
{
EventHandler upEvent = (sender, e) => {
DriverLayer.Control.Ins.ControlScene(scene);
string msg = scene.name + Language.StringByID(StringId.AlreadyOpened);
new PublicAssmebly().TipMsgAutoClose(msg, false);
};
btnName.MouseUpEventHandler = upEvent;
btnFromFloor.MouseUpEventHandler = upEvent;
this.MouseUpEventHandler = upEvent;
}
}
}