黄学彪
2020-09-22 ade5917841b0fdcb1df7353ef7c56b1a1bdc9282
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 场景图片的控件
    /// </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>
        /// 场景图片的控件(拥有桌布)
        /// </summary>
        public ScenePictrueControl()
        {
            this.UseClickStatu = false;
            this.Height = Application.GetRealHeight(440);
        }
 
        /// <summary>
        /// 初始化控件
        /// </summary>
        /// <param name="sceneUI">场景控件</param>
        public void InitControl(Common.SceneUI sceneUI)
        {
            this.scene = sceneUI;
            //场景图片
            this.btnScenePic = new ImageView();
            btnScenePic.X = Application.GetRealWidth(179);
            btnScenePic.Width = Application.GetRealWidth(844);
            btnScenePic.Height = Application.GetRealHeight(397);
            if (sceneUI.IconPathType == 0)
            {
                btnScenePic.ImagePath = sceneUI.IconPath;
            }
            else if (Common.Global.IsExistsByHomeId(sceneUI.IconPath) == true)
            {
                btnScenePic.ImageBytes = Common.Global.ReadFileByHomeId(sceneUI.IconPath);
            }
            btnScenePic.Radius = (uint)Application.GetRealHeight(17);
            this.AddChidren(btnScenePic, ChidrenBindMode.NotBind);
 
            //阴影
            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.BindEvent);
 
            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.BindEvent);
        }
 
        #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
    }
}