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

89 lines
2.7 KiB
Ucode

class ScrnWaitingMessage extends WaitingMessage;
static function string GetString(
optional int Switch,
optional PlayerReplicationInfo RelatedPRI_1,
optional PlayerReplicationInfo RelatedPRI_2,
optional Object OptionalObject
)
{
local ScrnGameReplicationInfo ScrnGRI;
local string s;
s = super.GetString(switch, RelatedPRI_1, RelatedPRI_2, OptionalObject);
if ( switch == 1 || switch == 3 ) {
ScrnGRI = ScrnGameReplicationInfo(class'ScrnBalance'.default.Mut.Level.GRI);
if ( ScrnGRI != none ) {
if ( ScrnGRI.WaveHeader != "" )
s = ScrnGRI.WaveHeader; // overwrite default "NEXT/FINAL WAVE INBOUND"
s $= "|" $ ScrnGRI.WaveTitle;
if ( ScrnGRI.WaveMessage != "" )
s $= "|" $ ScrnGRI.WaveMessage;
}
}
return s;
}
static function RenderComplexMessage(
Canvas Canvas,
out float XL,
out float YL,
optional string MessageString,
optional int Switch,
optional PlayerReplicationInfo RelatedPRI_1,
optional PlayerReplicationInfo RelatedPRI_2,
optional Object OptionalObject
)
{
local int i;
local float TempY;
i = InStr(MessageString, "|");
TempY = Canvas.CurY;
Canvas.FontScaleX = Canvas.ClipX / 1024.0;
Canvas.FontScaleY = Canvas.FontScaleX;
if ( i < 0 ) {
Canvas.TextSize(MessageString, XL, YL);
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY);
Canvas.DrawTextClipped(MessageString, false);
}
else {
Canvas.TextSize(Left(MessageString, i), XL, YL);
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY);
Canvas.DrawTextClipped(Left(MessageString, i), false);
TempY += YL;
MessageString = Mid(MessageString, i + 1);
i = InStr(MessageString, "|");
if ( i < 0 ) {
Canvas.TextSize(MessageString, XL, YL);
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY);
Canvas.DrawTextClipped(MessageString, false);
}
else {
Canvas.TextSize(Left(MessageString, i), XL, YL);
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY);
Canvas.DrawTextClipped(Left(MessageString, i), false);
TempY += YL;
Canvas.FontScaleX *= 0.25;
Canvas.FontScaleY *= 0.25;
MessageString = Mid(MessageString, i + 1);
Canvas.TextSize(MessageString, XL, YL);
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY);
Canvas.DrawTextClipped(MessageString, false);
}
}
Canvas.FontScaleX = 1.0;
Canvas.FontScaleY = 1.0;
}
defaultproperties
{
}