Files
zzz_REBIRTH__Utils/Scripts/XUIC/XUiC_CustomSubPopupList.cs
2025-06-04 16:44:53 +09:30

119 lines
3.6 KiB
C#

using UnityEngine.Scripting;
#nullable disable
[Preserve]
public class XUiC_MapSubPopupListRebirth : XUiController
{
[PublicizedFrom(EAccessModifier.Private)]
public static string[] sprites = new string[63]
{
"ui_game_symbol_water",
"ui_game_symbol_tree",
"ui_game_symbol_add",
"ui_game_symbol_airdrop",
"ui_game_symbol_allies",
"ui_game_symbol_animal_tracker",
"ui_game_symbol_archery",
"ui_game_symbol_armor_iron",
"ui_game_symbol_assemble",
"ui_game_symbol_backpack",
"ui_game_symbol_book",
"ui_game_symbol_brick",
"ui_game_symbol_bundle",
"ui_game_symbol_cement",
"ui_game_symbol_character",
"ui_game_symbol_check",
"ui_game_symbol_chemistry",
"ui_game_symbol_coin",
"ui_game_symbol_crops",
"ui_game_symbol_diamond",
"ui_game_symbol_door",
"ui_game_symbol_drive",
"ui_game_symbol_electric_power",
"ui_game_symbol_electric_turret",
"ui_game_symbol_fetch_loot",
"ui_game_symbol_fire",
"ui_game_symbol_flood_fill",
"ui_game_symbol_foliage",
"ui_game_symbol_fork",
"ui_game_symbol_gas",
"ui_game_symbol_hammer",
"ui_game_symbol_harvest",
"ui_game_symbol_lightbulb",
"ui_game_symbol_lock",
"ui_game_symbol_loot_sack",
"ui_game_symbol_map",
"ui_game_symbol_map_bed",
"ui_game_symbol_map_cabin",
"ui_game_symbol_map_campsite",
"ui_game_symbol_map_cave",
"ui_game_symbol_map_city",
"ui_game_symbol_map_civil",
"ui_game_symbol_map_fortress",
"ui_game_symbol_map_house",
"ui_game_symbol_map_trader",
"ui_game_symbol_medical",
"ui_game_symbol_mining",
"ui_game_symbol_pills",
"ui_game_symbol_player",
"ui_game_symbol_quest",
"ui_game_symbol_radiation",
"ui_game_symbol_rifle",
"ui_game_symbol_safe",
"ui_game_symbol_science",
"ui_game_symbol_scrap",
"ui_game_symbol_shopping_cart",
"ui_game_symbol_star",
"ui_game_symbol_table_saw",
"ui_game_symbol_tool",
"ui_game_symbol_treasure",
"ui_game_symbol_wood",
"ui_game_symbol_workbench",
"ui_game_symbol_x"
};
public int CustomRows { get; set; } = RebirthVariables.waypointIconRows; // Default rows
public int CustomColumns { get; set; } = RebirthVariables.waypointIconColumns; // Default columns
public override void Init()
{
base.Init();
// Retrieve the grid by its ID
var gridController = GetChildById("subPopupList");
if (gridController?.ViewComponent is XUiV_Grid grid)
{
grid.Rows = CustomRows;
grid.Columns = CustomColumns;
}
for (int index = 0; index < this.children.Count; ++index)
{
XUiController child = this.children[index].Children[0];
if (child is XUiC_MapSubPopupEntry)
{
XUiC_MapSubPopupEntry mapSubPopupEntry = (XUiC_MapSubPopupEntry)child;
mapSubPopupEntry.SetIndex(index);
mapSubPopupEntry.SetSpriteName(XUiC_MapSubPopupListRebirth.sprites[index % XUiC_MapSubPopupListRebirth.sprites.Length]);
}
}
}
[PublicizedFrom(EAccessModifier.Internal)]
public void ResetList()
{
for (int index = 0; index < this.children.Count; ++index)
{
XUiController child = this.children[index].Children[0];
if (child is XUiC_MapSubPopupEntry)
((XUiC_MapSubPopupEntry)child).Reset();
}
this.children[0].SelectCursorElement(true);
}
[PublicizedFrom(EAccessModifier.Private)]
static XUiC_MapSubPopupListRebirth()
{
}
}