//============================================================================= // KFGFxWidget_LevelUpNotification //============================================================================= // HUD Widget that displays when a user levels up //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC // - Zane Gholson 09/10/2014 //============================================================================= class KFGFxWidget_LevelUpNotification extends GFxObject; var localized string LevelUpString; var localized string TierUnlockedString; var localized string ObjectiveCompleteString; function InitializeHUD() { } function SetLocalizedText() { local GFxObject tempObj; tempObj = CreateObject("Object"); tempObj.SetString("levelUpString", LevelUpString); tempObj.SetString("tierUnlockedString", TierUnlockedString); SetObject("localizeText", tempObj); } //Called from KFPlayerController::ClientFinishedSpecialEvent function FinishedDailyEvent(int EventIndex) { local KFPlayerController MyKFPC; local DailyEventInformation EventInfo; MyKFPC = KFPlayerController(GetPC()); if(MyKFPC == none) { return; } EventInfo = MyKFPC.GetDailyObjective(EventIndex); ShowAchievementNotification(ObjectiveCompleteString, class'KFGFxDailyObjectivesContainer'.static.FormTitleForObjective( EventInfo ), class'KFGFxDailyObjectivesContainer'.static.FormDescriptionForObjective( EventInfo ), class'KFGFxDailyObjectivesContainer'.static.GetIconForObjective( EventInfo ), true); class'KFMusicStingerHelper'.static.PlayDailyCompleteStinger(GetPC()); } //Called from KFPlayerController::ClientFinishedSpecialEvent function FinishedSpecialEvent(int EventIndex, int ObjectiveIndex) { local class SpecialEventClass; //get the correctObjectives container SpecialEventClass = class'KFGFxMenu_StartGame'.static.GetSpecialEventClass(EventIndex); //get the objective info ShowObjectiveCompleteNotification(SpecialEventClass.default.SpecialEventObjectiveInfoList[ObjectiveIndex].TitleString, SpecialEventClass.default.SpecialEventObjectiveInfoList[ObjectiveIndex].DescriptionString, "img://"$SpecialEventClass.default.ObjectiveIconURLs[ObjectiveIndex]); class'KFMusicStingerHelper'.static.PlaySpecialEventObjectiveStinger(GetPC()); } function ShowLevelUpNotification(Class PerkClass, byte PerkLevel, bool bTierUnlocked) { ShowAchievementNotification(LevelUpString, PerkClass.default.PerkName, TierUnlockedString, "img://"$PerkClass.static.GetPerkIconPath(), bTierUnlocked, PerkLevel); } function ShowObjectiveCompleteNotification(string ObjectiveName, string ObjectiveDescription, string ImagePath, optional bool bShowSecondary) { ShowAchievementNotification(ObjectiveCompleteString, ObjectiveName, " ", ImagePath, bShowSecondary, INDEX_NONE); } function ShowAchievementNotification(string TitleString, string MainString, string SecondaryString, string ImagePath, bool bShowSecondary, optional int NumericValue = -1) { local GFxObject tempObj; tempObj = CreateObject("Object"); tempObj.SetString("titleString", TitleString); tempObj.SetString("mainString", MainString); tempObj.SetString("secondaryString", SecondaryString); tempObj.SetInt("newValue", NumericValue); tempObj.SetString("iconPath", ImagePath); tempObj.Setbool("bShowSecondary", bShowSecondary); SetObject("showAchievementPopUp", tempObj); }