rott/kf_sources/ScrnBalanceSrv/Classes/StringReplicationInfo.uc
2026-07-14 20:27:09 +07:00

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
{
}