82 lines
2.1 KiB
Ucode
82 lines
2.1 KiB
Ucode
//==============================================================================
|
|
// Created on: 09/17/2003
|
|
// Base class for menus which handle custom playinfo properties
|
|
//
|
|
// Written by Ron Prestenback
|
|
// © 2003, Epic Games, Inc. All Rights Reserved
|
|
//==============================================================================
|
|
class GUICustomPropertyPage extends LockedFloatingWindow;
|
|
|
|
// GUIComponent associated with this custom property page
|
|
// this will normally be the component that wanted this page opened
|
|
// In the case of the playinfo lists, this would be the moButton responsible for tracking this property's value
|
|
var() noexport GUIComponent Owner;
|
|
var() noexport PlayInfo.PlayInfoData Item; // Playinfo property this item is associated with
|
|
|
|
function SetOwner( GUIComponent NewOwner )
|
|
{
|
|
Owner = NewOwner;
|
|
}
|
|
|
|
function GUIComponent GetOwner()
|
|
{
|
|
return Owner;
|
|
}
|
|
|
|
function SetReadOnly( bool bValue );
|
|
function bool GetReadOnly() { return false; }
|
|
|
|
function Strip(out string Source, string Char)
|
|
{
|
|
if (Source != "" && Char != "")
|
|
{
|
|
if (Left(Source,Len(Char)) == Char)
|
|
Source = Mid(Source, Len(Char));
|
|
|
|
if (Right(Source, Len(Char)) == Char)
|
|
Source = Left(Source, Len(Source) - Len(Char));
|
|
}
|
|
}
|
|
|
|
|
|
// copied from GameInfo and modified
|
|
static function bool GrabOption( string Delim, out string Options, out string Result )
|
|
{
|
|
local string s;
|
|
|
|
s = Options;
|
|
if( Left(Options,1)==Delim )
|
|
Result = Mid(Options,1);
|
|
|
|
if ( !Divide(s, Delim, Result, Options) )
|
|
Result = s;
|
|
|
|
return Result != "";
|
|
}
|
|
|
|
//
|
|
// Break up a key=value pair into its key and value.
|
|
//
|
|
static function GetKeyValue( string Pair, out string Key, out string Value )
|
|
{
|
|
if ( !Divide(Pair, "=", Key, Value) )
|
|
Key = Pair;
|
|
}
|
|
|
|
/* ParseOption()
|
|
Find an option in the options string and return it.
|
|
*/
|
|
static function string ParseOption( string Options, string Delim, string InKey )
|
|
{
|
|
local string Pair, Key, Value;
|
|
|
|
while( GrabOption( Delim, Options, Pair ) )
|
|
{
|
|
GetKeyValue( Pair, Key, Value );
|
|
if( Key ~= InKey )
|
|
return Value;
|
|
}
|
|
return "";
|
|
}
|
|
|