1
0
KF2-Dev-Scripts/KFGame/Classes/KFSeqAct_DrawLocalizedText.uc
2020-12-13 18:09:05 +03:00

112 lines
3.6 KiB
Ucode

//=============================================================================
// KFSeqAct_DrawLocalizedText
//=============================================================================
// Kismet node to draw localized texts in the HUD
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
//=============================================================================
class KFSeqAct_DrawLocalizedText extends SequenceAction
dependson(HUD)
native;
var int SecondaryIDValue;
enum ELocalizedID
{
LID_0,
LID_1, LID_2, LID_3, LID_4, LID_5, LID_6, LID_7, LID_8, LID_9, LID_10,
LID_11, LID_12, LID_13, LID_14, LID_15, LID_16, LID_17, LID_18, LID_19, LID_20,
LID_21, LID_22, LID_23, LID_24, LID_25, LID_26, LID_27, LID_28, LID_29, LID_30,
LID_31, LID_32, LID_33, LID_34, LID_35, LID_36, LID_37, LID_38, LID_39, LID_40,
LID_41, LID_42, LID_43, LID_44, LID_45, LID_46, LID_47, LID_48, LID_49, LID_MAX,
};
var(Message) ELocalizedID MessageLocalizedID;
var(Message) array<ELocalizedID> SecondaryMessageLocalizedIDList;
var(Message) bool bUseSecondaryMessage;
var(Message) string TextForReplace;
var() class<KFKismetMapLocalization> MapLocalizationClass;
var() float DisplayTimeSeconds;
var() vector2d MessageFontScale;
var() vector2d MessageOffset;
var() Color MessageColor;
var bool bDisplayOnObject;
cpptext
{
UBOOL UpdateOp(FLOAT deltaTime);
virtual void Activated();
};
var HUD.KismetDrawTextInfo DrawTextInfo;
/**
* Return the version number for this class. Child classes should increment this method by calling Super then adding
* a individual class version to the result. When a class is first created, the number should be 0; each time one of the
* link arrays is modified (VariableLinks, OutputLinks, InputLinks, etc.), the number that is added to the result of
* Super.GetObjClassVersion() should be incremented by 1.
*
* @return the version number for this specific class.
*/
static event int GetObjClassVersion()
{
return Super.GetObjClassVersion() + 2;
}
event Initialize()
{
DrawTextInfo.MessageText = GetLocalizationText();
DrawTextInfo.MessageFont = GetFontText();
DrawTextInfo.MessageFontScale = MessageFontScale;
DrawTextInfo.MessageOffset = MessageOffset;
DrawTextInfo.MessageColor = MessageColor;
}
simulated function string GetLocalizationText()
{
Local string finalText;
Local string secondaryText;
finalText = MapLocalizationClass.static.GetLocalization(MessageLocalizedID);
`log("bUseSecondaryMessage"@bUseSecondaryMessage);
if(bUseSecondaryMessage)
{
`log("SecondaryIDValue"@SecondaryIDValue);
secondaryText = MapLocalizationClass.static.GetLocalization(SecondaryMessageLocalizedIDList[SecondaryIDValue]);
class'Actor'.static.ReplaceText(finalText, TextForReplace, secondaryText);
}
return finalText;
}
simulated function Font GetFontText()
{
return MapLocalizationClass.static.GetFont();
}
defaultproperties
{
ObjName="Draw Localized Text"
ObjCategory="Killing Floor"
DisplayTimeSeconds=-1
MessageFontScale=(X=1,Y=1)
MessageOffset=(X=0,Y=0)
MessageColor=(R=255,G=255,B=255,A=255)
InputLinks(0)=(LinkDesc="Show")
InputLinks(1)=(LinkDesc="Hide")
VariableLinks(1)=(ExpectedType=class'SeqVar_String',LinkDesc="String",MinVars=0,bHidden=TRUE)
VariableLinks(2)=(ExpectedType=class'SeqVar_Int',LinkDesc="SecondaryIDValue",MinVars=0,bHidden=TRUE,bWriteable=true,PropertyName=SecondaryIDValue)
bLatentExecution=TRUE
bAutoActivateOutputLinks=FALSE
}