90 lines
2.0 KiB
C++
90 lines
2.0 KiB
C++
#include "ui_game.h"
|
|
|
|
#include "game_sudo.h"
|
|
#include "game_snake.h"
|
|
#include "game_match.h"
|
|
|
|
UIGame::UIGame()
|
|
{
|
|
UI::Panel* panel = CreatePanel("root");
|
|
panel->SetPosScale({ 0.0f, 0.0f });
|
|
panel->SetPosPixel(POS_CONTENT);
|
|
|
|
UI::Panel* panel_menu = g_ui->CreatePanel();
|
|
panel_menu->SetLocator(createLocatorX(200));
|
|
g_ui->SetPanelParent(panel_menu, panel);
|
|
|
|
|
|
{
|
|
UI::ListBox* lst = g_ui->CreateListBoxDefault(true);
|
|
lst->SetItemCallback([](UI::Panel* item, Value v) {
|
|
if (v)
|
|
item->ExSetString(v.ToString());
|
|
else
|
|
item->ExSetString({});
|
|
});
|
|
_allGame.push_back("数独");
|
|
_allGame.push_back("贪吃蛇");
|
|
_allGame.push_back("消消乐");
|
|
lst->SetItemData(_allGame);
|
|
panel_menu->Add(lst);
|
|
_edt = lst;
|
|
}
|
|
{
|
|
UI::Text* txt = g_ui->CreateTextDefault();
|
|
txt->SetElementData(Align::LT);
|
|
txt->GetText()->SetMaxW(400);
|
|
txt->SetString("请选择一个示例");
|
|
panel_menu->Add(txt);
|
|
_txtInfo = txt;
|
|
}
|
|
}
|
|
|
|
void UIGame::Update()
|
|
{
|
|
if (_edt->IsSelectChange())
|
|
{
|
|
Value name = _edt->GetSelect();
|
|
if (name)
|
|
{
|
|
if (name.ToString() == "数独")
|
|
{
|
|
_txtInfo->SetString("数独游戏,双击进入。\n操作说明:按1-9选择数字,按~取消选择");
|
|
}
|
|
else if (name.ToString() == "贪吃蛇")
|
|
{
|
|
_txtInfo->SetString("贪吃蛇,双击进入。\n由ai编写");
|
|
}
|
|
else if (name.ToString() == "消消乐")
|
|
{
|
|
_txtInfo->SetString("消消乐游戏,双击进入。\n操作说明:点击相邻方块进行交换,形成3个或以上连续匹配");
|
|
}
|
|
else
|
|
_txtInfo->SetString("");
|
|
}
|
|
}
|
|
|
|
Value enter = _edt->GetSelectClickDouble();
|
|
if (enter)
|
|
{
|
|
if (enter.ToString() == "数独")
|
|
{
|
|
g_scene->Del("child");
|
|
g_scene->Del("main");
|
|
g_scene->Add("game", new GameSudo);
|
|
}
|
|
else if(enter.ToString() == "贪吃蛇")
|
|
{
|
|
g_scene->Del("child");
|
|
g_scene->Del("main");
|
|
g_scene->Add("game", new GameSnake);
|
|
}
|
|
else if(enter.ToString() == "消消乐")
|
|
{
|
|
g_scene->Del("child");
|
|
g_scene->Del("main");
|
|
g_scene->Add("game", new GameMatch);
|
|
}
|
|
}
|
|
}
|