mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-06-16 23:12:33 +00:00
Menu Progress
LaunchMoreOptionsMenu and SettingsGraphicsMenu works now. Change seed dont work. Label update for sliders dont work. InGameHostOptionsMenu is disabled for now.
This commit is contained in:
@@ -48,7 +48,7 @@ void UIScene_InGameHostOptionsMenu::Init()
|
||||
m_hostOptionsList.AddNewSlider(TempString, eControl_Difficulty, 0, 3, app.GetGameSettings(m_iPad, eGameSetting_Difficulty));
|
||||
|
||||
swprintf_s(TempString, 256, L"Game Mode: %ls", app.GetString(m_iGamemodeTitleSetting[0]));
|
||||
m_hostOptionsList.AddNewSlider(TempString, eControl_GameType, 0, 2, 0);
|
||||
m_hostOptionsList.AddNewSlider(TempString, eControl_GameType, 0, 2, app.GetGameHostOption(eGameHostOption_GameType));
|
||||
|
||||
m_hostOptionsList.AddNewButton(L"Set World Spawn Point", eControl_PlayerPermissions);
|
||||
|
||||
@@ -113,31 +113,7 @@ void UIScene_InGameHostOptionsMenu::updateTooltips()
|
||||
|
||||
void UIScene_InGameHostOptionsMenu::handleReload()
|
||||
{
|
||||
UIScene::handleReload();
|
||||
|
||||
/*
|
||||
// If cheats are disabled, remove checkboxes
|
||||
if (!app.GetGameHostOption(eGameHostOption_CheatsEnabled))
|
||||
{
|
||||
removeControl(&m_checkboxMobGriefing, true);
|
||||
removeControl(&m_checkboxKeepInventory, true);
|
||||
removeControl(&m_checkboxDoMobSpawning, true);
|
||||
removeControl(&m_checkboxDoDaylightCycle, true);
|
||||
}
|
||||
*/
|
||||
|
||||
INetworkPlayer *localPlayer = g_NetworkManager.GetLocalPlayerByUserIndex( m_iPad );
|
||||
if (!localPlayer)
|
||||
return;
|
||||
|
||||
unsigned int privs = app.GetPlayerPrivileges(localPlayer->GetSmallId());
|
||||
const bool canTeleport = app.GetGameHostOption(eGameHostOption_CheatsEnabled) && Player::getPlayerGamePrivilege(privs, Player::ePlayerGamePrivilege_CanTeleport) && g_NetworkManager.GetPlayerCount() > 1;
|
||||
|
||||
if(!canTeleport)
|
||||
{
|
||||
//removeControl(&m_buttonTeleportToPlayer, true);
|
||||
//removeControl(&m_buttonTeleportToMe, true);
|
||||
}
|
||||
Init();
|
||||
}
|
||||
|
||||
void UIScene_InGameHostOptionsMenu::handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool &handled)
|
||||
@@ -148,33 +124,64 @@ void UIScene_InGameHostOptionsMenu::handleInput(int iPad, int key, bool repeat,
|
||||
case ACTION_MENU_CANCEL:
|
||||
if(pressed)
|
||||
{
|
||||
//Disable this for now
|
||||
/*
|
||||
unsigned int hostOptions = app.GetGameHostOption(eGameHostOption_All);
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_FireSpreads, m_checkboxFireSpreads.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_TNT, m_checkboxTNT.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoMobLoot, m_checkboxDoMobLoot.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoTileDrops, m_checkboxDoTileDrops.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_NaturalRegeneration, m_checkboxNaturalRegeneration.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_FireSpreads, m_hostOptionsList.GetCheckboxValue(eControl_FireSpreads));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_TNT, m_hostOptionsList.GetCheckboxValue(eControl_TNT));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoMobLoot, m_hostOptionsList.GetCheckboxValue(eControl_DoMobLoot));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoTileDrops, m_hostOptionsList.GetCheckboxValue(eControl_DoTileDrops));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_NaturalRegeneration, m_hostOptionsList.GetCheckboxValue(eControl_NaturalRegeneration));
|
||||
|
||||
// If cheats are enabled, set cheat values
|
||||
if (app.GetGameHostOption(eGameHostOption_CheatsEnabled))
|
||||
{
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_MobGriefing, m_checkboxMobGriefing.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_KeepInventory, m_checkboxKeepInventory.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoMobSpawning, m_checkboxDoMobSpawning.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoDaylightCycle, m_checkboxDoDaylightCycle.IsChecked());
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_MobGriefing, m_hostOptionsList.GetCheckboxValue(eControl_MobGriefing));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_KeepInventory, m_hostOptionsList.GetCheckboxValue(eControl_KeepInventory));
|
||||
app.SetGameHostOption(hostOptions, eGameHostOption_DoMobSpawning, m_hostOptionsList.GetCheckboxValue(eControl_DoMobSpawning));
|
||||
//app.SetGameHostOption(hostOptions, eGameHostOption_DoDaylightCycle, m_hostOptionsList.GetCheckboxValue(eControl_DoDayLightCycle));
|
||||
|
||||
auto pMinecraft = Minecraft::GetInstance();
|
||||
auto localPlayer = pMinecraft->localplayers[m_iPad];
|
||||
|
||||
int oldDifficulty = app.GetGameSettings(m_iPad, eGameSetting_Difficulty);
|
||||
int newDifficulty = m_hostOptionsList.GetSliderValue(eControl_Difficulty);
|
||||
if (oldDifficulty != newDifficulty && localPlayer && localPlayer->connection)
|
||||
{
|
||||
//GameDifficultyCommand packet(newDifficulty);
|
||||
//localPlayer->connection->send(packet);
|
||||
}
|
||||
|
||||
int oldGameMode = app.GetGameHostOption(eGameHostOption_GameType);
|
||||
int newGameMode = m_hostOptionsList.GetSliderValue(eControl_GameType);
|
||||
if (oldGameMode != newGameMode && localPlayer && localPlayer->connection)
|
||||
{
|
||||
//DefaultGameModeCommand packet(newGameMode);
|
||||
//localPlayer->connection->send(packet);
|
||||
}
|
||||
|
||||
auto level = pMinecraft->getLevel(0);
|
||||
if (level)
|
||||
{
|
||||
int oldWeather = level->getWeatherState();
|
||||
int newWeather = m_hostOptionsList.GetSliderValue(eControl_Weather);
|
||||
if (oldWeather != newWeather && localPlayer && localPlayer->connection)
|
||||
{
|
||||
//WeatherCommand packet(newWeather);
|
||||
//localPlayer->connection->send(packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Send update settings packet to server
|
||||
if(hostOptions != app.GetGameHostOption(eGameHostOption_All) )
|
||||
{
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
shared_ptr<MultiplayerLocalPlayer> player = pMinecraft->localplayers[m_iPad];
|
||||
if(player->connection)
|
||||
player->connection->send(std::make_shared<ServerSettingsChangedPacket>(ServerSettingsChangedPacket::HOST_IN_GAME_SETTINGS, hostOptions));
|
||||
auto *pMinecraft = Minecraft::GetInstance();
|
||||
auto localPlayer = pMinecraft->localplayers[m_iPad];
|
||||
if(localPlayer->connection)
|
||||
localPlayer->connection->send(std::make_shared<ServerSettingsChangedPacket>(ServerSettingsChangedPacket::HOST_IN_GAME_SETTINGS, hostOptions));
|
||||
}
|
||||
*/
|
||||
|
||||
navigateBack();
|
||||
|
||||
handled = true;
|
||||
@@ -198,7 +205,7 @@ void UIScene_InGameHostOptionsMenu::handlePress(F64 controlId, F64 childId)
|
||||
auto *initData = new TeleportMenuInitData();
|
||||
initData->iPad = m_iPad;
|
||||
initData->teleportToPlayer = false;
|
||||
if( static_cast<int>(controlId) == eControl_TeleportToPlayer )
|
||||
if( static_cast<int>(childId) == eControl_TeleportToPlayer )
|
||||
initData->teleportToPlayer = true;
|
||||
|
||||
ui.NavigateToScene(m_iPad,eUIScene_TeleportMenu,(void*)initData);
|
||||
|
||||
Reference in New Issue
Block a user