OverrideStackedClassIcon
Tracking Issue: #1134
Function to return the current unit's stacked class icon.
Stacked class icons are generated for faction hero units by default. Mods may want to manipulate the way a soldier's stacked class icon is displayed in more dynamic ways, or even add a stacked icon to a non-hero class.
For example, when using custom hero classes such as the Skirmisher Heavy, it would be nice to see a custom class image in the soldier list, promotion screen, and in the tactical UI.
There is one event:
OverrideStackedClassIcon event
Param | Value |
---|---|
EventID | OverrideStackedClassIcon |
EventData | XComLWTuple |
EventSource | XComGameState_Unit |
NewGameState | none |
Tuple contents
Index | Name | Type | Direction |
---|---|---|---|
0 | Images | array<string> | inout |
1 | bInvertImage | bool | inout |
Listener template
static function EventListenerReturn OnOverrideStackedClassIcon(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
{
local XComGameState_Unit UnitState;
local XComLWTuple Tuple;
local array<string> Images;
local bool bInvertImage;
UnitState = XComGameState_Unit(EventSource);
Tuple = XComLWTuple(EventData);
Images = Tuple.Data[0].as;
bInvertImage = Tuple.Data[1].b;
// Your code here
Tuple.Data[0].as = Images;
Tuple.Data[1].b = bInvertImage;
return ELR_NoInterrupt;
}
Due to the irregularities of how StackedUIIconData is consumed, strings applied to
the Images array should not start with img:///
.