54 lines
937 B
Ucode
54 lines
937 B
Ucode
class StringReplicationInfo extends ReplicationInfo;
|
|
|
|
const MaxSize = 255;
|
|
|
|
var String Str;
|
|
var StringReplicationInfo Next;
|
|
|
|
replication
|
|
{
|
|
reliable if ( bNetDirty && Role == ROLE_Authority )
|
|
Str, Next;
|
|
}
|
|
|
|
simulated function SetString(string value)
|
|
{
|
|
ClearString();
|
|
|
|
if ( len(value) < MaxSize )
|
|
Str = value;
|
|
else {
|
|
Str = Left(value, MaxSize);
|
|
Next = spawn(self.class, self);
|
|
Next.SetString(Right(value, len(value) - MaxSize));
|
|
}
|
|
}
|
|
|
|
simulated function string GetString()
|
|
{
|
|
if ( Next == none )
|
|
return Str;
|
|
|
|
return Str $ Next.GetString();
|
|
}
|
|
|
|
simulated function ClearString()
|
|
{
|
|
Str = "";
|
|
if ( Next != none ) {
|
|
Next.ClearString();
|
|
Next.Destroy();
|
|
Next = none;
|
|
}
|
|
}
|
|
|
|
simulated function Destroyed()
|
|
{
|
|
ClearString();
|
|
super.Destroyed();
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
}
|