OverrideLightingMap
Tracking Issue: #1535
Called from XComEnvLightingManager:Init
Allows for overriding the tactical mission lighting map after initial search for matching lighting definitions has been done
If length of OverrideEnvLightingDefs array is non-zero, then MatchingEnvLightingDefs will be overwritten by OverrideEnvLightingDefs
You can add one or more lighting definitions to OverrideEnvLightingDefs array, and one of them will be randomly selected
Usage example:
static function OverrideLightingMap(out array<EnvironmentLightingDefinition> OverrideEnvLightingDefs, const XComGameState_BattleData BattleData, const array<EnvironmentLightingDefinition> MatchingEnvLightingDefs)
{
local XComEnvLightingManager EnvMan;
local EnvironmentLightingDefinition LightDef;
local string MapName;
local ETimeOfDay TimeOfDay;
EnvMan = `ENVLIGHTINGMGR;
MapName = BattleData.MapData.PlotMapName;
TimeOfDay = class'X2StrategyGameRulesetDataStructures'.static.GetTimeOfDay(BattleData.LocalTime);
if(MapName == "MyExamplePlotMapName") // only continue if it's a map we want
{
foreach EnvMan.arrEnvironmentLightingDefs(LightDef)
{
if(TimeOfDay == eTimeOfDay_Night) // if it's night then find night lighting map
{
if(LightDef.MapName == "XP_LE_AbandonedCity_Night")
{
OverrideEnvLightingDefs.AddItem(LightDef);
break;
}
}
else // otherwise use the day map
{
if(LightDef.MapName == "XP_LE_AbandonedCity_Day")
{
OverrideEnvLightingDefs.AddItem(LightDef);
break;
}
}
}
}
}