Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
108 lines
2.5 KiB
C++
108 lines
2.5 KiB
C++
|
|
#pragma once
|
|
#include "Adept.hpp"
|
|
|
|
namespace Adept
|
|
{
|
|
class GUIObject;
|
|
class GUITextObject;
|
|
|
|
//##########################################################################
|
|
//########################### GUIGroup ################################
|
|
//##########################################################################
|
|
class GUIGroup:
|
|
public Plug
|
|
{
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Construction, Destruction
|
|
//
|
|
public:
|
|
GUIGroup(const char *name);
|
|
|
|
~GUIGroup();
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Functions
|
|
//
|
|
public:
|
|
void
|
|
AddTextObject(GUITextObject *gui_text_object);
|
|
void
|
|
AddGUIObject(GUIObject *gui_object);
|
|
GUIObject
|
|
*FindGUIObject(const char *object_name);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Public Data
|
|
//
|
|
public:
|
|
MString
|
|
groupName;
|
|
SortedChainOf<GUIObject *, MString>
|
|
guiObjects;
|
|
ChainOf<GUITextObject *>
|
|
guiTextObjects;
|
|
};
|
|
//####################################################################
|
|
//########################### GUIManager ########################
|
|
//####################################################################
|
|
|
|
class GUIManager:
|
|
public Plug
|
|
{
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Construction, Destruction
|
|
//
|
|
public:
|
|
GUIManager();
|
|
~GUIManager();
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// GUI Initialization
|
|
//
|
|
public:
|
|
void
|
|
ReadObjectsFromNotation(Stuff::NotationFile *gui_contents);
|
|
|
|
void
|
|
SaveObjectsToStream(Stuff::MemoryStream *stream);
|
|
|
|
void
|
|
ReadObjectsFromStream(Stuff::MemoryStream *stream);
|
|
void
|
|
WriteObjectsFromFileToStream(
|
|
Stuff::NotationFile *gui_contents,
|
|
Stuff::MemoryStream *stream
|
|
);
|
|
virtual void
|
|
ClearGUIChain();
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Cool functions that make this stuff work Data
|
|
//
|
|
public:
|
|
GUIGroup
|
|
*FindGroup(const char *group_name);
|
|
|
|
virtual void
|
|
Execute();
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Public Data Don't worry...be happy
|
|
//
|
|
public:
|
|
SortedChainOf<GUIObject *, MString>
|
|
guiObjects;
|
|
|
|
SortedChainOf<GUIGroup *, MString>
|
|
guiGroups;
|
|
|
|
static GUIManager*
|
|
GetInstance()
|
|
{
|
|
return reinterpret_cast<GUIManager *>( GlobalPointers::GetGlobalPointer(GUIManagerGlobalPointerIndex));
|
|
};
|
|
|
|
};
|
|
}
|