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_SpaceIndicatorBar.h"
4
5UIControl_SpaceIndicatorBar::UIControl_SpaceIndicatorBar()
6{
7 m_min = 0;
8 m_max = 100;
9 m_currentSave = 0;
10 m_currentTotal = 0;
11 m_currentOffset = 0.0f;
12}
13
14bool UIControl_SpaceIndicatorBar::setupControl(UIScene *scene, IggyValuePath *parent, const string &controlName)
15{
16 UIControl::setControlType(UIControl::eProgress);
17 bool success = UIControl_Base::setupControl(scene,parent,controlName);
18
19 //Progress specific initialisers
20 m_setSaveSizeFunc = registerFastName(L"setSaveGameSize");
21 m_setTotalSizeFunc = registerFastName(L"setTotalSize");
22 m_setSaveGameOffsetFunc = registerFastName(L"setSaveGameOffset");
23
24 return success;
25}
26
27void UIControl_SpaceIndicatorBar::init(UIString label, int id, __int64 min, __int64 max)
28{
29 m_label = label;
30 m_id = id;
31 m_min = min;
32 m_max = max;
33
34 IggyDataValue result;
35 IggyDataValue value[1];
36 value[0].type = IGGY_DATATYPE_string_UTF16;
37 IggyStringUTF16 stringVal;
38
39 stringVal.string = (IggyUTF16*)label.c_str();
40 stringVal.length = label.length();
41 value[0].string16 = stringVal;
42
43 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_initFunc , 1 , value );
44}
45
46void UIControl_SpaceIndicatorBar::ReInit()
47{
48 UIControl_Base::ReInit();
49 init(m_label, m_id, m_min, m_max);
50 setSaveSize(m_currentSave);
51 setTotalSize(m_currentTotal);
52 setSaveGameOffset(m_currentOffset);
53}
54
55void UIControl_SpaceIndicatorBar::reset()
56{
57 m_sizeAndOffsets.clear();
58 m_currentTotal = 0;
59 setTotalSize(0);
60 setSaveSize(0);
61 setSaveGameOffset(0.0f);
62}
63
64void UIControl_SpaceIndicatorBar::addSave(__int64 size)
65{
66 float startPercent = (float)((m_currentTotal-m_min))/(m_max-m_min);
67
68 m_sizeAndOffsets.push_back( pair<__int64, float>(size, startPercent) );
69
70 m_currentTotal += size;
71 setTotalSize(m_currentTotal);
72}
73
74void UIControl_SpaceIndicatorBar::selectSave(int index)
75{
76 if(index >= 0 && index < m_sizeAndOffsets.size())
77 {
78 pair<__int64,float> values = m_sizeAndOffsets[index];
79 setSaveSize(values.first);
80 setSaveGameOffset(values.second);
81 }
82 else
83 {
84 setSaveSize(0);
85 setSaveGameOffset(0);
86 }
87}
88
89void UIControl_SpaceIndicatorBar::setSaveSize(__int64 size)
90{
91 m_currentSave = size;
92
93 float percent = (float)((m_currentSave-m_min))/(m_max-m_min);
94
95 IggyDataValue result;
96 IggyDataValue value[1];
97 value[0].type = IGGY_DATATYPE_number;
98 value[0].number = percent;
99 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_setSaveSizeFunc , 1 , value );
100}
101
102void UIControl_SpaceIndicatorBar::setTotalSize(__int64 size)
103{
104 float percent = (float)((m_currentTotal-m_min))/(m_max-m_min);
105
106 IggyDataValue result;
107 IggyDataValue value[1];
108 value[0].type = IGGY_DATATYPE_number;
109 value[0].number = percent;
110 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_setTotalSizeFunc , 1 , value );
111}
112
113void UIControl_SpaceIndicatorBar::setSaveGameOffset(float offset)
114{
115 m_currentOffset = offset;
116
117 IggyDataValue result;
118 IggyDataValue value[1];
119 value[0].type = IGGY_DATATYPE_number;
120 value[0].number = m_currentOffset;
121 IggyResult out = IggyPlayerCallMethodRS ( m_parentScene->getMovie() , &result, getIggyValuePath() , m_setSaveGameOffsetFunc , 1 , value );
122}