| | |
| | | /// </summary>
|
| | | public class ScenePictrueControl : FrameRowControl
|
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 场景图片控件
|
| | | /// </summary>
|
| | | public ImageView btnScenePic = null;
|
| | | /// <summary>
|
| | | /// 场景名字控件
|
| | | /// </summary>
|
| | | public NormalViewControl btnSceneName = null;
|
| | | /// <summary>
|
| | | /// 场景对象
|
| | | /// </summary>
|
| | | public Common.SceneUI scene = null;
|
| | | /// <summary>
|
| | | /// 收藏触发的事件 true:添加收藏 false:取消收藏
|
| | | /// </summary>
|
| | | public Action<bool> CollectEvent = null;
|
| | | /// <summary>
|
| | | /// 选择控件(调用AddSelectControl()函数初始化)
|
| | | /// </summary>
|
| | | private IconViewControl btnSelect = null;
|
| | |
|
| | | private bool m_IsSelected = false;
|
| | | /// <summary>
|
| | | /// 选择状态
|
| | | /// </summary>
|
| | | public bool IsSelected
|
| | | {
|
| | | get { return m_IsSelected; }
|
| | | set
|
| | | {
|
| | | m_IsSelected = value;
|
| | | if (btnSelect != null) { btnSelect.IsSelected = m_IsSelected; }
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化_____________________________
|
| | |
|
| | | /// <summary>
|
| | |
| | | /// <param name="sceneUI">场景控件</param>
|
| | | public void InitControl(Common.SceneUI sceneUI)
|
| | | {
|
| | | this.scene = sceneUI;
|
| | | //场景图片
|
| | | var btnPic = new ImageView();
|
| | | btnPic.X = Application.GetRealWidth(179);
|
| | | btnPic.Width = Application.GetRealWidth(844);
|
| | | btnPic.Height = Application.GetRealHeight(397);
|
| | | this.btnScenePic = new ImageView();
|
| | | btnScenePic.X = Application.GetRealWidth(179);
|
| | | btnScenePic.Width = Application.GetRealWidth(844);
|
| | | btnScenePic.Height = Application.GetRealHeight(397);
|
| | | if (sceneUI.IconPathType == 0)
|
| | | {
|
| | | btnPic.ImagePath = sceneUI.IconPath;
|
| | | btnScenePic.ImagePath = sceneUI.IconPath;
|
| | | }
|
| | | else if (Common.Global.IsExistsByHomeId(sceneUI.IconPath) == true)
|
| | | {
|
| | | btnPic.ImageBytes = Common.Global.ReadFileByHomeId(sceneUI.IconPath);
|
| | | btnScenePic.ImageBytes = Common.Global.ReadFileByHomeId(sceneUI.IconPath);
|
| | | }
|
| | | btnPic.Radius = (uint)Application.GetRealHeight(17);
|
| | | this.AddChidren(btnPic, ChidrenBindMode.NotBind);
|
| | | btnScenePic.Radius = (uint)Application.GetRealHeight(17);
|
| | | this.AddChidren(btnScenePic, ChidrenBindMode.NotBind);
|
| | |
|
| | | //阴影
|
| | | var btnShadow = new PicViewControl(btnPic.Width + Application.GetRealWidth(14 * 2), btnPic.Height + Application.GetRealHeight(43), false);
|
| | | btnShadow.X = btnPic.X - Application.GetRealWidth(14);
|
| | | var btnShadow = new PicViewControl(btnScenePic.Width + Application.GetRealWidth(14 * 2), btnScenePic.Height + Application.GetRealHeight(43), false);
|
| | | btnShadow.X = btnScenePic.X - Application.GetRealWidth(14);
|
| | | btnShadow.UnSelectedImagePath = "Scene/SceneShadow.png";
|
| | | this.AddChidren(btnShadow, ChidrenBindMode.BindEventOnly);
|
| | |
|
| | | var btnName = new NormalViewControl(251, 282, true);
|
| | | btnName.IsMoreLines = true;
|
| | | btnName.X = ControlCommonResourse.XXLeft;
|
| | | btnName.Y = Application.GetRealHeight(58);
|
| | | btnName.BackgroundColor = 0xd6333333;
|
| | | btnName.RadiusEx = 17;
|
| | | btnName.Text = sceneUI.Name;
|
| | | btnName.TextSize = 15;
|
| | | btnName.TextColor = UserCenterColor.Current.White;
|
| | | btnName.TextAlignment = TextAlignment.Center;
|
| | | this.AddChidren(btnName, ChidrenBindMode.BindEventOnly);
|
| | | this.btnSceneName = new NormalViewControl(251, 282, true);
|
| | | btnSceneName.IsMoreLines = true;
|
| | | btnSceneName.X = ControlCommonResourse.XXLeft;
|
| | | btnSceneName.Y = Application.GetRealHeight(58);
|
| | | btnSceneName.BackgroundColor = 0xd6333333;
|
| | | btnSceneName.RadiusEx = 17;
|
| | | btnSceneName.Text = sceneUI.Name;
|
| | | btnSceneName.TextSize = 15;
|
| | | btnSceneName.TextColor = UserCenterColor.Current.White;
|
| | | btnSceneName.TextAlignment = TextAlignment.Center;
|
| | | this.AddChidren(btnSceneName, ChidrenBindMode.NotBind);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 选择控件___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 添加选择控件
|
| | | /// </summary>
|
| | | public void AddSelectControl()
|
| | | {
|
| | | this.btnSelect = new IconViewControl(58);
|
| | | btnSelect.UnSelectedImagePath = "Item/ItemUnSelected.png";
|
| | | btnSelect.SelectedImagePath = "Item/ItemSelected.png";
|
| | | btnSelect.X = Application.GetRealWidth(887);
|
| | | btnSelect.Y = Application.GetRealHeight(35);
|
| | | this.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly);
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 收藏控件___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 添加收藏控件(CollectEvent是收藏的回调事件)
|
| | | /// </summary>
|
| | | public void AddCollectionControl()
|
| | | {
|
| | | var btnCollection = new IconViewControl(65);
|
| | | btnCollection.X = Application.GetRealWidth(81);
|
| | | btnCollection.Y = Application.GetRealHeight(81);
|
| | | btnCollection.UnSelectedImagePath = "Item/Collection.png";
|
| | | btnCollection.SelectedImagePath = "Item/CollectionSelected.png";
|
| | | if (HdlRoomLogic.Current.IsCollectInRoom(scene) == true)
|
| | | {
|
| | | btnCollection.IsSelected = true;
|
| | | }
|
| | | this.AddChidren(btnCollection, ChidrenBindMode.NotBind);
|
| | | btnCollection.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | btnCollection.IsSelected = !btnCollection.IsSelected;
|
| | | if (btnCollection.IsSelected == true)
|
| | | {
|
| | | HdlSceneLogic.Current.AddLoveScene(scene);
|
| | | }
|
| | | else
|
| | | {
|
| | | HdlSceneLogic.Current.DeleteLoveScene(scene);
|
| | | }
|
| | | this.CollectEvent?.Invoke(btnCollection.IsSelected);
|
| | | };
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 控件摧毁___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 控件摧毁
|
| | | /// </summary>
|
| | | public override void RemoveFromParent()
|
| | | {
|
| | | this.CollectEvent = null;
|
| | |
|
| | | base.RemoveFromParent();
|
| | | }
|
| | |
|
| | | #endregion
|