the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "UI.h"
3#include "UIControl_BeaconEffectButton.h"
4
5UIControl_BeaconEffectButton::UIControl_BeaconEffectButton()
6{
7 m_data = 0;
8 m_icon = 0;
9 m_selected = false;
10 m_active = false;
11 m_focus = false;
12}
13
14bool UIControl_BeaconEffectButton::setupControl(UIScene *scene, IggyValuePath *parent, const string &controlName)
15{
16 bool success = UIControl::setupControl(scene,parent,controlName);
17
18 m_funcChangeState = registerFastName(L"ChangeState");
19 m_funcSetIcon = registerFastName(L"SetIcon");
20
21 return success;
22}
23
24void UIControl_BeaconEffectButton::SetData(int data, int icon, bool active, bool selected)
25{
26 m_data = data;
27 m_active = active;
28 m_selected = selected;
29
30 SetIcon(icon);
31 UpdateButtonState();
32}
33
34int UIControl_BeaconEffectButton::GetData()
35{
36 return m_data;
37}
38
39void UIControl_BeaconEffectButton::SetButtonSelected(bool selected)
40{
41 if(selected != m_selected)
42 {
43 m_selected = selected;
44
45 UpdateButtonState();
46 }
47}
48
49bool UIControl_BeaconEffectButton::IsButtonSelected()
50{
51 return m_selected;
52}
53
54void UIControl_BeaconEffectButton::SetButtonActive(bool active)
55{
56 if(m_active != active)
57 {
58 m_active = active;
59
60 UpdateButtonState();
61 }
62}
63
64void UIControl_BeaconEffectButton::setFocus(bool focus)
65{
66 if(m_focus != focus)
67 {
68 m_focus = focus;
69
70 UpdateButtonState();
71 }
72}
73
74void UIControl_BeaconEffectButton::SetIcon(int icon)
75{
76 if(icon != m_icon)
77 {
78 m_icon = icon;
79
80 IggyDataValue result;
81 IggyDataValue value[1];
82
83 value[0].type = IGGY_DATATYPE_number;
84 value[0].number = m_icon;
85 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_funcSetIcon , 1 , value );
86 }
87}
88
89void UIControl_BeaconEffectButton::UpdateButtonState()
90{
91 EState state = eState_Disabled;
92
93 if(!m_active)
94 {
95 state = eState_Disabled;
96 }
97 else if(m_selected)
98 {
99 state = eState_Pressed;
100 }
101 else if(m_focus)
102 {
103 state = eState_Enabled_Selected;
104 }
105 else
106 {
107 state = eState_Enabled_Unselected;
108 }
109
110 if(state != m_lastState)
111 {
112 IggyDataValue result;
113 IggyDataValue value[1];
114
115 value[0].type = IGGY_DATATYPE_number;
116 value[0].number = state;
117 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_funcChangeState , 1 , value );
118
119 if(out == IGGY_RESULT_SUCCESS) m_lastState = state;
120 }
121}