mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 06:33:40 +00:00
86 lines
2.2 KiB
C++
86 lines
2.2 KiB
C++
#pragma once
|
|
#include "../Screen.h"
|
|
class EditBox;
|
|
class LevelStorageSource;
|
|
|
|
class CreateWorldScreen : public Screen {
|
|
private:
|
|
Screen* lastScreen;
|
|
EditBox* nameEdit;
|
|
EditBox* seedEdit;
|
|
std::wstring resultFolder;
|
|
bool done;
|
|
|
|
bool moreOptions;
|
|
std::wstring gameMode;
|
|
bool generateStructures;
|
|
bool bonusChest;
|
|
bool cheatsEnabled;
|
|
bool flatWorld;
|
|
|
|
Button* gameModeButton;
|
|
Button* moreWorldOptionsButton;
|
|
Button* generateStructuresButton;
|
|
Button* bonusChestButton;
|
|
Button* worldTypeButton;
|
|
Button* cheatsEnabledButton;
|
|
|
|
std::wstring gameModeDescriptionLine1;
|
|
std::wstring gameModeDescriptionLine2;
|
|
std::wstring seed;
|
|
|
|
public:
|
|
CreateWorldScreen(Screen* lastScreen);
|
|
virtual void tick() override;
|
|
virtual void init() override;
|
|
|
|
private:
|
|
void updateResultFolder();
|
|
void updateStrings();
|
|
|
|
public:
|
|
static std::wstring findAvailableFolderName(LevelStorageSource* levelSource,
|
|
const std::wstring& folder);
|
|
virtual void removed() override;
|
|
|
|
protected:
|
|
virtual void buttonClicked(Button* button) override;
|
|
virtual void keyPressed(wchar_t ch, int eventKey) override;
|
|
virtual void mouseClicked(int x, int y, int buttonNum) override;
|
|
|
|
public:
|
|
virtual void render(int xm, int ym, float a) override;
|
|
virtual void tabPressed() override;
|
|
|
|
private:
|
|
int m_iGameModeId;
|
|
bool m_bGameModeCreative;
|
|
|
|
struct MoreOptionsParams {
|
|
bool bGenerateOptions;
|
|
bool bStructures;
|
|
bool bFlatWorld;
|
|
bool bBonusChest;
|
|
bool bPVP;
|
|
bool bTrust;
|
|
bool bFireSpreads;
|
|
bool bHostPrivileges;
|
|
bool bTNT;
|
|
bool bMobGriefing;
|
|
bool bKeepInventory;
|
|
bool bDoMobSpawning;
|
|
bool bDoMobLoot;
|
|
bool bDoTileDrops;
|
|
bool bNaturalRegeneration;
|
|
bool bDoDaylightCycle;
|
|
bool bOnlineGame;
|
|
bool bInviteOnly;
|
|
bool bAllowFriendsOfFriends;
|
|
bool bOnlineSettingChangedBySystem;
|
|
bool bCheatsEnabled;
|
|
int dwTexturePack;
|
|
int iPad;
|
|
std::wstring worldName;
|
|
std::wstring seed;
|
|
} m_MoreOptionsParams;
|
|
}; |