4jcraft/Minecraft.Client/Platform/Common/UI/UIControl_SaveList.cpp

117 lines
3.8 KiB
C++

#include "../../Minecraft.World/Platform/stdafx.h"
#include "UI.h"
#include "UIControl_SaveList.h"
bool UIControl_SaveList::setupControl(UIScene* scene, IggyValuePath* parent,
const std::string& controlName) {
UIControl::setControlType(UIControl::eSaveList);
bool success =
UIControl_ButtonList::setupControl(scene, parent, controlName);
// SlotList specific initialisers
m_funcSetTextureName = registerFastName(L"SetTextureName");
return success;
}
void UIControl_SaveList::addItem(const std::wstring& label) {
addItem(label, L"");
}
void UIControl_SaveList::addItem(const std::string& label) {
addItem(label, L"");
}
void UIControl_SaveList::addItem(const std::wstring& label, int data) {
addItem(label, L"", data);
}
void UIControl_SaveList::addItem(const std::string& label, int data) {
addItem(label, L"", data);
}
void UIControl_SaveList::addItem(const std::string& label,
const std::wstring& iconName) {
addItem(label, iconName, m_itemCount);
++m_itemCount;
}
void UIControl_SaveList::addItem(const std::wstring& label,
const std::wstring& iconName) {
addItem(label, iconName, m_itemCount);
++m_itemCount;
}
void UIControl_SaveList::addItem(const std::string& label,
const std::wstring& iconName, int data) {
IggyDataValue result;
IggyDataValue value[3];
IggyStringUTF8 stringVal;
stringVal.string = (char*)label.c_str();
stringVal.length = (S32)label.length();
value[0].type = IGGY_DATATYPE_string_UTF8;
value[0].string8 = stringVal;
value[1].type = IGGY_DATATYPE_number;
value[1].number = m_itemCount;
const std::u16string convName = wstring_to_u16string(iconName);
IggyStringUTF16 stringVal2;
stringVal2.string = convName.c_str();
stringVal2.length = convName.length();
value[2].type = IGGY_DATATYPE_string_UTF16;
value[2].string16 = stringVal2;
IggyResult out =
IggyPlayerCallMethodRS(m_parentScene->getMovie(), &result,
getIggyValuePath(), m_addNewItemFunc, 3, value);
}
void UIControl_SaveList::addItem(const std::wstring& label,
const std::wstring& iconName, int data) {
IggyDataValue result;
IggyDataValue value[3];
const std::u16string convLabel = wstring_to_u16string(label);
IggyStringUTF16 stringVal;
stringVal.string = convLabel.c_str();
stringVal.length = (S32)convLabel.length();
value[0].type = IGGY_DATATYPE_string_UTF16;
value[0].string16 = stringVal;
value[1].type = IGGY_DATATYPE_number;
value[1].number = m_itemCount;
const std::u16string convName = wstring_to_u16string(iconName);
IggyStringUTF16 stringVal2;
stringVal2.string = convName.c_str();
stringVal2.length = convName.length();
value[2].type = IGGY_DATATYPE_string_UTF16;
value[2].string16 = stringVal2;
IggyResult out =
IggyPlayerCallMethodRS(m_parentScene->getMovie(), &result,
getIggyValuePath(), m_addNewItemFunc, 3, value);
}
void UIControl_SaveList::setTextureName(int iId, const std::wstring& iconName) {
IggyDataValue result;
IggyDataValue value[2];
value[0].type = IGGY_DATATYPE_number;
value[0].number = iId;
const std::u16string convName = wstring_to_u16string(iconName);
IggyStringUTF16 stringVal;
stringVal.string = convName.c_str();
stringVal.length = convName.length();
value[1].type = IGGY_DATATYPE_string_UTF16;
value[1].string16 = stringVal;
IggyResult out = IggyPlayerCallMethodRS(m_parentScene->getMovie(), &result,
getIggyValuePath(),
m_funcSetTextureName, 2, value);
}