/** * Generic settings for all builtin gametypes * * Copyright (C) 2011,2014 Tripwire Interactive LLC * * @author Michiel 'elmuerte' Hendriks */ class KFGameInfoSettings extends WebAdminSettings; `include(WebAdmin.uci) `include(SettingsMacros.uci) `define GIV_CLASS KFGameInfo `define GIV_VAR KFGameInfoClass var class<`{GIV_CLASS}> `{GIV_VAR}; var GameInfo gameinfo; function setCurrentGameInfo(GameInfo instance) { if (instance != none) { if (!ClassIsChildOf(instance.class, `{GIV_VAR})) { return; } } super.setCurrentGameInfo(instance); gameinfo = instance; // reload values if (gameinfo != none) { initSettings(); } } function cleanupSettings() { gameinfo = none; super.cleanupSettings(); } function initSettings() { if (`{GIV_VAR} == none) return; `GIV_SetIntPropertyByName('GameStartDelay', GameStartDelay); `GIV_SetIntPropertyByName('ReadyUpDelay', ReadyUpDelay); `GIV_SetIntPropertyByName('EndOfGameDelay', EndOfGameDelay); `GIV_SetBoolPropertyByName('bDisablePickups', bDisablePickups); // `GIV_SetBoolPropertyByName('bEnableObjectives', bEnableObjectives); // `GIV_SetBoolPropertyByName('bEnableCoopObjectives', bEnableCoopObjectives); } function saveSettings() { saveInternal(); if (gameinfo != none) { gameinfo.SaveConfig(); } `{GIV_VAR}.static.StaticSaveConfig(); } protected function saveInternal() { local int val; if (`{GIV_VAR} == none) return; `GIV_GetIntPropertyByName('GameStartDelay', GameStartDelay); `GIV_GetIntPropertyByName('ReadyUpDelay', ReadyUpDelay); `GIV_GetIntPropertyByName('EndOfGameDelay', EndOfGameDelay); `GIV_GetBoolPropertyByName('bDisablePickups', bDisablePickups); // `GIV_GetBoolPropertyByName('bEnableObjectives', bEnableObjectives); // `GIV_GetBoolPropertyByName('bEnableCoopObjectives', bEnableCoopObjectives); } defaultproperties { SettingsGroups.Add((groupId="Rules",pMin=0,pMax=100)) SettingsGroups.Add((groupId="Game",pMin=100,pMax=200)) SettingsGroups.Add((groupId="Advanced",pMin=1000,pMax=1100)) KFGameInfoClass=class'KFGameInfo' Properties[0]=(PropertyId=1,Data=(Type=SDT_Int32)) PropertyMappings[0]=(Id=1,name="EndOfGameDelay",MappingType=PVMT_Ranged,MinVal=0,MaxVal=9999,RangeIncrement=5) Properties[1]=(PropertyId=2,Data=(Type=SDT_Int32)) PropertyMappings[1]=(Id=2,name="GameStartDelay",MappingType=PVMT_Ranged,MinVal=0,MaxVal=9999,RangeIncrement=5) Properties[2]=(PropertyId=3,Data=(Type=SDT_Int32)) PropertyMappings[2]=(Id=3,name="ReadyUpDelay",MappingType=PVMT_Ranged,MinVal=0,MaxVal=9999,RangeIncrement=5) Properties[3]=(PropertyId=4,Data=(Type=SDT_Int32)) PropertyMappings[3]=(Id=4,name="bDisablePickups",MappingType=PVMT_IdMapped,ValueMappings=((Id=0),(Id=1))) // Properties[4]=(PropertyId=5,Data=(Type=SDT_Int32)) // PropertyMappings[4]=(Id=5,name="bEnableObjectives",MappingType=PVMT_IdMapped,ValueMappings=((Id=0),(Id=1))) // Properties[5]=(PropertyId=6,Data=(Type=SDT_Int32)) // PropertyMappings[5]=(Id=6,name="bEnableCoopObjectives",MappingType=PVMT_IdMapped,ValueMappings=((Id=0),(Id=1))) }