static void Postfix(SGNavigationList __instance, HBSRadioSet ___radioSet, SGNavigationButton ___argoButton) { if (__instance.navParent != null) { Mod.Log.Info?.Write($"SGNL:Start - adding new button."); SimGameState simulation = UnityGameInstance.BattleTechGame.Simulation; try { // Create the store button Mod.Log.Info?.Write(" - Creating store button"); GameObject storeButtonGO = GameObject.Instantiate(___argoButton.gameObject); storeButtonGO.SetActive(true); storeButtonGO.transform.position = ___argoButton.gameObject.transform.position; storeButtonGO.transform.SetParent(___argoButton.gameObject.transform.parent); storeButtonGO.transform.localScale = Vector3.one; storeButtonGO.transform.SetSiblingIndex(1); storeButton = storeButtonGO.GetComponent <SGNavigationButton>(); Traverse storeButtonT = Traverse.Create(storeButton).Field("id"); storeButtonT.SetValue(DropshipLocation.SHIP); storeButton.SetupElement(__instance, ___radioSet, "Store", LazySingletonBehavior <UIManager> .Instance.UILookAndColorConstants.DropshipRoomCaptainsQuartersIcon, simulation); // Create the staff button Mod.Log.Info?.Write(" - Creating staff button"); GameObject staffButtonGO = GameObject.Instantiate(___argoButton.gameObject); staffButtonGO.SetActive(true); staffButtonGO.transform.position = ___argoButton.gameObject.transform.position; staffButtonGO.transform.SetParent(___argoButton.gameObject.transform.parent); staffButtonGO.transform.localScale = Vector3.one; staffButtonGO.transform.SetSiblingIndex(7); staffButton = staffButtonGO.GetComponent <SGNavigationButton>(); Traverse staffButtonT = Traverse.Create(staffButton).Field("id"); staffButtonT.SetValue(DropshipLocation.CMD_CENTER); staffButton.SetupElement(__instance, ___radioSet, "CMD Staff", LazySingletonBehavior <UIManager> .Instance.UILookAndColorConstants.DropshipRoomCommandCenterIcon, simulation); staffButton.AddFlyoutButton("Darius", DropshipMenuType.Darius); staffButton.AddFlyoutButton("Yang", DropshipMenuType.Yang); staffButton.AddFlyoutButton("Sumire", DropshipMenuType.Sumire); staffButton.AddFlyoutButton("Farah", DropshipMenuType.Farah); if (simulation.GetCharacterStatus(SimGameState.SimGameCharacterType.ALEXANDER)) { staffButton.AddFlyoutButton("Alexander", DropshipMenuType.Alexander); } // Create the memorial button Mod.Log.Info?.Write(" - Creating memorial button"); GameObject memorialButtonGO = GameObject.Instantiate(___argoButton.gameObject); memorialButtonGO.SetActive(true); memorialButtonGO.transform.position = ___argoButton.gameObject.transform.position; memorialButtonGO.transform.SetParent(___argoButton.gameObject.transform.parent); memorialButtonGO.transform.localScale = Vector3.one; memorialButtonGO.transform.SetSiblingIndex(9); memorialButton = memorialButtonGO.GetComponent <SGNavigationButton>(); Traverse memorialButtonT = Traverse.Create(memorialButton).Field("id"); memorialButtonT.SetValue(DropshipLocation.BARRACKS); memorialButton.SetupElement(__instance, ___radioSet, "Memorial", LazySingletonBehavior <UIManager> .Instance.UILookAndColorConstants.DropshipRoomBarracksIcon, simulation); //memorialButton.AddFlyoutButton("Memorial Wall", DropshipMenuType.MemorialWall); } catch (Exception e) { Mod.Log.Info?.Write("Error: " + e.Message); } } }