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.
178 lines
3.2 KiB
C++
178 lines
3.2 KiB
C++
#include "AdeptHeaders.hpp"
|
|
|
|
#include "GUIStatBar.hpp"
|
|
#include "Tool.hpp"
|
|
|
|
|
|
//#############################################################################
|
|
//########################### GUIStatBar #################################
|
|
//#############################################################################
|
|
|
|
GUIStatBar::ClassData*
|
|
GUIStatBar::DefaultData = NULL;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::InitializeClass()
|
|
{
|
|
Verify(!DefaultData);
|
|
DefaultData =
|
|
new ClassData(
|
|
GUIStatBarClassID,
|
|
"Adept::GUIStatBar",
|
|
GUIObject::DefaultData,
|
|
0,
|
|
NULL
|
|
);
|
|
Register_Object(DefaultData);
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::TerminateClass()
|
|
{
|
|
Unregister_Object(DefaultData);
|
|
delete DefaultData;
|
|
DefaultData = NULL;
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
GUIStatBar::GUIStatBar(
|
|
ClassData *class_data,
|
|
MemoryStream *stream
|
|
):
|
|
GUIObject(class_data, stream)
|
|
{
|
|
Check_Pointer(this);
|
|
Check_Object(stream);
|
|
|
|
baseValue = -1.0f;
|
|
currentValue = -1.0f;
|
|
dataPointer = NULL;
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
GUIStatBar::GUIStatBar(
|
|
ClassData *class_data,
|
|
Page *instance_page
|
|
):
|
|
GUIObject(class_data, instance_page)
|
|
{
|
|
Check_Pointer(this);
|
|
Check_Object(instance_page);
|
|
|
|
const char *bar_type;
|
|
instance_page->GetEntry("StatBarType", &bar_type, true);
|
|
|
|
if(!strcmp(bar_type, "VerticalDown"))
|
|
{
|
|
statBarType = VerticalDownType;
|
|
}
|
|
else if(!strcmp(bar_type, "VerticalUp"))
|
|
{
|
|
statBarType = VerticalUpType;
|
|
}
|
|
else if(!strcmp(bar_type, "HorizontalLeft"))
|
|
{
|
|
statBarType = HorizontalLeftType;
|
|
}
|
|
else if(!strcmp(bar_type, "HorizontalRight"))
|
|
{
|
|
statBarType = HorizontalRightType;
|
|
}
|
|
else
|
|
{
|
|
statBarType = -1;
|
|
}
|
|
|
|
baseValue = -1.0f;
|
|
currentValue = -1.0f;
|
|
dataPointer = NULL;
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::Save(MemoryStream *stream)
|
|
{
|
|
Check_Object(this);
|
|
Check_Object(stream);
|
|
|
|
GUIObject::Save(stream);
|
|
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
GUIStatBar::~GUIStatBar()
|
|
{
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::LinkStatBar(Scalar base_value, Scalar *value)
|
|
{
|
|
Check_Object(this);
|
|
Check_Pointer(value);
|
|
|
|
Verify(base_value >= 0);
|
|
baseValue = base_value;
|
|
currentValue = *value;
|
|
dataPointer = value;
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::Draw()
|
|
{
|
|
Check_Object(this);
|
|
|
|
if(!currentValue)
|
|
return;
|
|
if(statBarType == -1)
|
|
return;
|
|
|
|
switch(statBarType)
|
|
{
|
|
case VerticalUpType:
|
|
{
|
|
|
|
break;
|
|
}
|
|
case VerticalDownType:
|
|
{
|
|
break;
|
|
}
|
|
case HorizontalRightType:
|
|
{
|
|
break;
|
|
}
|
|
case HorizontalLeftType:
|
|
{
|
|
break;
|
|
}
|
|
};
|
|
|
|
GUIObject::Draw();
|
|
}
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//
|
|
void
|
|
GUIStatBar::TestInstance()
|
|
{
|
|
Verify(IsDerivedFrom(DefaultData));
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|