Initial commit
This commit is contained in:
134
Torque/SDK/example/demo/client/scripts/pageGui.cs
Normal file
134
Torque/SDK/example/demo/client/scripts/pageGui.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// PageGui is the main TSControl through which the game is viewed.
|
||||
// The PageGui also contains the hud controls.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
function PageGui::onWake(%this)
|
||||
{
|
||||
%this.pageNumber = 0;
|
||||
}
|
||||
|
||||
function PageGui::onSleep(%this)
|
||||
{
|
||||
}
|
||||
|
||||
function PageGui::pageName(%this, %index)
|
||||
{
|
||||
if (%index $= "")
|
||||
{
|
||||
%index = %this.pageNumber;
|
||||
echo ("PAGE: " @ %this.pageNumber);
|
||||
}
|
||||
return %this.thread @ "_page" @ %index;
|
||||
}
|
||||
|
||||
function PageGui::isNextPage(%this)
|
||||
{
|
||||
for (%num = %this.pageNumber + 1; !isObject(%this.pageName(%num)); %num += 1)
|
||||
if (%num > 100)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function PageGui::isPrevPage(%this)
|
||||
{
|
||||
for (%num = %this.pageNumber - 1; !isObject(%this.pageName(%num)); %num -= 1)
|
||||
if (%num < 0)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function PageGui::pushThread(%this, %thread)
|
||||
{
|
||||
if (%this.thread !$= "" )
|
||||
%this.threadStack = %this.thread @ " " @ %this.pageNUmber @ " " @ %this.threadStack;
|
||||
%this.popPage();
|
||||
%this.thread = %thread;
|
||||
%this.pushPage(1);
|
||||
%this.status();
|
||||
}
|
||||
|
||||
function PageGui::popThread(%this)
|
||||
{
|
||||
if (%this.threadStack !$= "" )
|
||||
{
|
||||
%this.popPage();
|
||||
%this.thread = firstWord(%this.threadStack);
|
||||
%this.threadStack = removeWord(%this.threadStack, 0);
|
||||
|
||||
%this.pageNumber = firstWord(%this.threadStack);
|
||||
%this.threadStack = removeWord(%this.threadStack, 0);
|
||||
}
|
||||
else
|
||||
%this.thread = "";
|
||||
%this.status();
|
||||
}
|
||||
|
||||
function PageGui::status(%this)
|
||||
{
|
||||
echo ("----------------------");
|
||||
echo ("THREADSTACK: " @ %this.threadStack);
|
||||
echo ("THREAD: " @ %this.thread);
|
||||
echo ("PAGE: " @ %this.pageNumber);
|
||||
}
|
||||
|
||||
function PageGui::popPage(%this)
|
||||
{
|
||||
echo ("POP: " @ %this.pageName());
|
||||
if (%this.pageNumber > 0)
|
||||
Canvas.popDialog(%this.pageName());
|
||||
}
|
||||
|
||||
function PageGui::pushPage(%this, %pageNumber)
|
||||
{
|
||||
// Load up the new page
|
||||
%this.pageNumber = %pageNumber;
|
||||
%page = %this.pageName();
|
||||
Canvas.pushDialog(%page);
|
||||
|
||||
// Update the arrows to reflect next/prev page availabilty
|
||||
PageGuiNextPage.setVisible(%this.isNextPage());
|
||||
//PageGuiPrevPage.setVisible(%this.isPrevPage());
|
||||
|
||||
// Extract demo text from page object
|
||||
PageGuiTitle.setText(
|
||||
"<font:Arial Bold:32><color:ffffff><just:right>" @
|
||||
%page.title);
|
||||
%this.status();
|
||||
}
|
||||
|
||||
function PageGui::setPageNumber(%this,%pageNumber)
|
||||
{
|
||||
// Pop off any current page...
|
||||
%this.popPage();
|
||||
|
||||
// Load up the new page
|
||||
%this.pushPage(%pageNumber);
|
||||
}
|
||||
|
||||
function PageGui::nextPage(%this)
|
||||
{
|
||||
if (%this.isNextPage())
|
||||
%this.setPageNumber(%this.pageNumber + 1);
|
||||
}
|
||||
|
||||
function PageGui::prevPage(%this)
|
||||
{
|
||||
if (%this.isPrevPage())
|
||||
%this.setPageNumber(%this.pageNumber - 1);
|
||||
else
|
||||
{
|
||||
%this.popThread();
|
||||
if (%this.thread !$= "")
|
||||
%this.pushPage(%this.pageNumber);
|
||||
else
|
||||
Canvas.setContent(mainMenuGui);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user