54 lines
1.4 KiB
Ucode
54 lines
1.4 KiB
Ucode
// This will be used by the story gametype.
|
|
// you can toggle the menu on and off and it will display your pending objectives.
|
|
|
|
class KFSPObjectiveBoard extends KFScoreBoard;
|
|
|
|
var localized string TitleString,NoObjString;
|
|
var KFSGameReplicationInfo SPRep;
|
|
|
|
simulated function PostBeginPlay()
|
|
{
|
|
Super.PostBeginPlay();
|
|
SPRep = KFSGameReplicationInfo(Level.GRI);
|
|
}
|
|
simulated event UpdateScoreBoard(Canvas Canvas)
|
|
{
|
|
if( Level.NetMode!=NM_StandAlone )
|
|
Super.UpdateScoreBoard(Canvas);
|
|
RenderObjectivedBoard(Canvas);
|
|
}
|
|
simulated event RenderObjectivedBoard(Canvas Canvas)
|
|
{
|
|
local float XL,YL,Dummy;
|
|
local string S;
|
|
|
|
Canvas.Font = GetSmallerFontFor(Canvas,4);
|
|
Canvas.TextSize(TitleString, XL, YL);
|
|
Canvas.SetPos(Canvas.ClipX-XL-5,5);
|
|
|
|
Canvas.DrawColor = HUDClass.default.WhiteColor;
|
|
Canvas.DrawText(TitleString,true);
|
|
|
|
if( SPRep!=None && SPRep.KFPLevel!=None )
|
|
{
|
|
if( SPRep.CurrentObjectiveNum>=SPRep.KFPLevel.MissionObjectives.Length )
|
|
S = NoObjString;
|
|
else S = SPRep.KFPLevel.MissionObjectives[SPRep.CurrentObjectiveNum];
|
|
Canvas.Font = GetSmallerFontFor(Canvas,3);
|
|
Canvas.TextSize(S, XL, Dummy);
|
|
Canvas.SetPos(Canvas.ClipX-XL-5,YL+7);
|
|
Canvas.DrawText(S,true);
|
|
}
|
|
}
|
|
simulated function SetGRI(GameReplicationInfo GRI)
|
|
{
|
|
SPRep = KFSGameReplicationInfo(GRI);
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
TitleString="Current Objective:"
|
|
NoObjString="No Objectives"
|
|
HUDClass=class'HUDKillingFloorSP'
|
|
}
|