190 lines
4.2 KiB
Ucode
190 lines
4.2 KiB
Ucode
class WaitingMessage extends TimerMessage;
|
|
|
|
var localized name WarningMessage[2];
|
|
var localized string WaveInboundMessage;
|
|
var localized string SurvivedMessage;
|
|
var localized string FinalWaveInboundMessage;
|
|
var localized string WeldedShutMessage;
|
|
var localized string ZEDTimeActiveMessage;
|
|
var localized string DoorMessage;
|
|
var localized string PickupMessage;
|
|
|
|
static function string GetString(
|
|
optional int Switch,
|
|
optional PlayerReplicationInfo RelatedPRI_1,
|
|
optional PlayerReplicationInfo RelatedPRI_2,
|
|
optional Object OptionalObject
|
|
)
|
|
{
|
|
if ( Switch == 1 )
|
|
{
|
|
return default.WaveInboundMessage;
|
|
}
|
|
else if( Switch == 2 )
|
|
{
|
|
return default.SurvivedMessage;
|
|
}
|
|
else if ( Switch == 3 )
|
|
{
|
|
return default.FinalWaveInboundMessage;
|
|
}
|
|
else if ( Switch == 4 )
|
|
{
|
|
return default.WeldedShutMessage;
|
|
}
|
|
else if ( Switch == 5 )
|
|
{
|
|
return default.ZEDTimeActiveMessage;
|
|
}
|
|
else if ( Switch == 6 )
|
|
{
|
|
return default.DoorMessage;
|
|
}
|
|
else if ( Switch == 7 )
|
|
{
|
|
return default.PickupMessage;
|
|
}
|
|
}
|
|
|
|
static function int GetFontSize(int Switch, PlayerReplicationInfo RelatedPRI1, PlayerReplicationInfo RelatedPRI2, PlayerReplicationInfo LocalPlayer)
|
|
{
|
|
if ( switch == 1 || switch == 2 || switch == 3 )
|
|
{
|
|
return 4;
|
|
}
|
|
|
|
if ( Switch == 4 || switch == 5 )
|
|
{
|
|
return 2;
|
|
}
|
|
|
|
if ( switch == 6 || switch == 7 )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return default.FontSize;
|
|
}
|
|
|
|
static function GetPos(int Switch, out EDrawPivot OutDrawPivot, out EStackMode OutStackMode, out float OutPosX, out float OutPosY)
|
|
{
|
|
OutDrawPivot = default.DrawPivot;
|
|
OutStackMode = default.StackMode;
|
|
OutPosX = default.PosX;
|
|
|
|
switch( Switch )
|
|
{
|
|
case 1:
|
|
case 3:
|
|
OutPosY = 0.45;
|
|
break;
|
|
case 2:
|
|
OutPosY = 0.4;
|
|
break;
|
|
case 4:
|
|
OutPosY = 0.7;
|
|
break;
|
|
case 5:
|
|
OutPosY = 0.7;
|
|
break;
|
|
case 6:
|
|
OutPosY = 0.8;
|
|
break;
|
|
case 7:
|
|
OutPosY = 0.8;
|
|
break;
|
|
}
|
|
}
|
|
|
|
static function float GetLifeTime(int Switch)
|
|
{
|
|
switch( switch )
|
|
{
|
|
case 1:
|
|
case 3:
|
|
return 1;
|
|
case 2:
|
|
return 3;
|
|
case 4:
|
|
return 4;
|
|
case 5:
|
|
return 1.5;
|
|
case 6:
|
|
return 5;
|
|
case 7:
|
|
return 5;
|
|
}
|
|
}
|
|
|
|
static function ClientReceive(
|
|
PlayerController P,
|
|
optional int Switch,
|
|
optional PlayerReplicationInfo RelatedPRI_1,
|
|
optional PlayerReplicationInfo RelatedPRI_2,
|
|
optional Object OptionalObject
|
|
)
|
|
{
|
|
super(CriticalEventPlus).ClientReceive(P, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject);
|
|
|
|
if ( Switch == 1 )
|
|
P.QueueAnnouncement(default.WarningMessage[Rand(2)], 1, AP_InstantOrQueueSwitch, 1);
|
|
}
|
|
|
|
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);
|
|
|
|
Canvas.TextSize(Mid(MessageString, i + 1), XL, YL);
|
|
Canvas.SetPos((Canvas.ClipX / 2.0) - (XL / 2.0), TempY + YL);
|
|
Canvas.DrawTextClipped(Mid(MessageString, i + 1), false);
|
|
}
|
|
|
|
Canvas.FontScaleX = 1.0;
|
|
Canvas.FontScaleY = 1.0;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
bComplexString=true
|
|
WarningMessage(0)="HereTheyCome5"
|
|
WarningMessage(1)="HereTheyCome2"
|
|
DrawColor=(G=0)
|
|
WaveInboundMessage="NEXT WAVE INBOUND!"
|
|
SurvivedMessage="WAVE COMPLETED!|GET TO THE TRADER!"
|
|
FinalWaveInboundMessage="FINAL WAVE INBOUND"
|
|
WeldedShutMessage="This door is welded shut.|Use the Welder's alt-fire to unweld."
|
|
DoorMessage="Press '%Use%' to open/close the door.|Use the Welder to seal closed doors."
|
|
PickupMessage="Press '%Use%' to pick up Z.E.D. gun piece."
|
|
ZEDTimeActiveMessage="ZED TIME ACTIVATED!"
|
|
FontSize=5
|
|
}
|