void Awake() { Rundown = FindObjectOfType <CM_PageRundown_New>(); ReloadButton = Instantiate(Rundown.m_discordButton.gameObject); ReloadButton = Instantiate(Rundown.m_discordButton.gameObject); ReloadButton.gameObject.SetActive(true); ReloadButton.gameObject.transform.position = Rundown.m_discordButton.gameObject.transform.position; ReloadButton.gameObject.transform.parent = Rundown.m_discordButton.gameObject.transform; RectTransform rect = ReloadButton.gameObject.GetComponent <RectTransform>(); rect.transform.position += new Vector3(0, 100, 0); CM_Item Button = ReloadButton.GetComponent <CM_Item>(); Button.SetText("Reload Game Data"); Button.add_OnBtnPressCallback((Action <int>)((_) => { ReloadData(); })); RectTransform transform = ReloadButton.GetComponent <RectTransform>(); var aPos = transform.position; aPos.y += 10; transform.position = aPos; }
public static bool Invoke(CM_PageRundown_New __instance, Il2CppSystem.Collections.Generic.List <CM_ExpeditionIcon_New> tierIcons, CM_RundownTierMarker tierMarker, bool thisTierUnlocked) { if (tierIcons.Count > 0) { var tier = tierIcons[0].Tier; RundownTierProgressionData progressionReq = null; var completionData = CompletionData.LoadFromCache(); var currentRundownData = __instance.m_currentRundownData; switch (tier) { case eRundownTier.TierB: progressionReq = currentRundownData?.ReqToReachTierB; break; case eRundownTier.TierC: progressionReq = currentRundownData?.ReqToReachTierC; break; case eRundownTier.TierD: progressionReq = currentRundownData?.ReqToReachTierD; break; case eRundownTier.TierE: progressionReq = currentRundownData?.ReqToReachTierE; break; } if (progressionReq != null) { int high = completionData.TotalCompletes_High; int extreme = completionData.TotalCompletes_Extreme; int overload = completionData.TotalCompletes_Overload; int pe = completionData.TotalCompletes_PE; thisTierUnlocked = high >= progressionReq.MainSectors && extreme >= progressionReq.SecondarySectors && overload >= progressionReq.ThirdSectors && pe >= progressionReq.AllClearedSectors; tierMarker.SetStatus(thisTierUnlocked ? eRundownTierMarkerStatus.Unlocked : eRundownTierMarkerStatus.Locked); } for (int index = 0; index < tierIcons.Count; ++index) { CM_ExpeditionIcon_New tierIcon = tierIcons[index]; __instance.SetIconStatus(tierIcon, thisTierUnlocked ? eExpeditionIconStatus.NotPlayed : eExpeditionIconStatus.TierLocked); } } return(false); }
public static void Postfix(ref CM_PageRundown_New __instance) { //Replace discord button text and link __instance.m_discordButton.SetText("MOD SERVER"); __instance.m_discordButton.OnBtnPressCallback = (Action <int>)((id) => Application.OpenURL("https://discord.com/invite/rRMPtv4FAh")); //Disable and hide the matchmake button on the left __instance.m_matchmakeAllButton.SetVisible(false); __instance.m_matchmakeAllButton.SetText("MATCHMAKE DISABLED"); __instance.m_matchmakeAllButton.OnBtnPressCallback = null; __instance.m_aboutTheRundownButton.SetText("THUNDERSTORE"); __instance.m_aboutTheRundownButton.OnBtnPressCallback = (Action <int>)((id) => Application.OpenURL("https://gtfo.thunderstore.io/")); //Hide the matchmake button when selecting an expedition __instance.m_expeditionWindow.m_matchButton.SetText("MATCHMAKE DISABLED"); __instance.m_expeditionWindow.m_matchButton.m_visible = false; __instance.m_expeditionWindow.m_matchButton.OnBtnPressCallback = null; }
public static void Postfix(CM_PageRundown_New __instance) { ContentManager contentManager = ConfigManager.CustomContent; if (contentManager == null) { return; } __instance.m_tierMarker1.m_name = contentManager.TierNames.Tier1; __instance.m_tierMarker2.m_name = contentManager.TierNames.Tier2; __instance.m_tierMarker3.m_name = contentManager.TierNames.Tier3; __instance.m_tierMarker4.m_name = contentManager.TierNames.Tier4; __instance.m_tierMarker5.m_name = contentManager.TierNames.Tier5; __instance.m_tierMarker1.UpdateHeader(); __instance.m_tierMarker2.UpdateHeader(); __instance.m_tierMarker3.UpdateHeader(); __instance.m_tierMarker4.UpdateHeader(); __instance.m_tierMarker5.UpdateHeader(); }
public void Update() { //this is the worst code ive ever written but it kept breaking when i did it otherways, please someone fix this if (Rundown == null) { Rundown = FindObjectOfType <CM_PageRundown_New>(); return; } else { if (ReloadButton == null) { ReloadButton = Instantiate(Rundown.m_discordButton.gameObject); ReloadButton.gameObject.SetActive(true); ReloadButton.gameObject.transform.position = Rundown.m_discordButton.gameObject.transform.position; ReloadButton.gameObject.transform.parent = Rundown.m_discordButton.gameObject.transform; RectTransform rect = ReloadButton.gameObject.GetComponent <RectTransform>(); rect.transform.position += new Vector3(0, 100, 0); CM_Item Button = ReloadButton.GetComponent <CM_Item>(); Button.SetText("Reload Game Data"); Button.add_OnBtnPressCallback((Action <int>)((number) => { ReloadData(); })); RectTransform transform = ReloadButton.GetComponent <RectTransform>(); var aPos = transform.position; aPos.y += 10; transform.position = aPos; return; } } }
public HotReloader(IntPtr intPtr) : base(intPtr) { Rundown = FindObjectOfType <CM_PageRundown_New>(); }
public static void Prefix(CM_PageRundown_New __instance) { __instance.m_cortexIntroIsDone = true; __instance.m_rundownIntroIsDone = true; }
public static bool Invoke(CM_PageRundown_New __instance) { var completionData = CompletionData.LoadFromCache(); Utilities.Log.Message("Load completion data"); Debug.Log("CM_PageRundown_New.UpdateRundownExpeditionProgression, RundownManager.RundownProgressionReady: " + RundownManager.RundownProgressionReady.ToString()); int totalMain = 0; int totalSecond = 0; int totalThird = 0; int totalPE = 0; int totalCompletesMain = 0; int totalCompletesSecond = 0; int totalCompletesThird = 0; int totalCompletesPE = 0; if (__instance.m_expIconsAll != null) { for (int index = 0; index < __instance.m_expIconsAll.Count; index++) { var icon = __instance.m_expIconsAll[index]; string expeditionKey = RundownManager.GetRundownProgressionExpeditionKey(icon.Tier, icon.ExpIndex); var completes = completionData.GetData(icon.Tier, icon.ExpIndex); if (completes.highCompletes > 0) { totalCompletesMain++; } if (completes.extremeCompletes > 0) { totalCompletesSecond++; } if (completes.overloadCompletes > 0) { totalCompletesThird++; } if (completes.peCompletes > 0) { totalCompletesPE++; } totalMain++; if (RundownManager.HasSecondaryLayer(icon.DataBlock)) { totalSecond++; } if (RundownManager.HasThirdLayer(icon.DataBlock)) { totalThird++; } if (RundownManager.HasAllCompletetionPossibility(icon.DataBlock)) { totalPE++; } } } if (__instance.m_tierMarkerSectorSummary != null) { __instance.m_tierMarkerSectorSummary.SetSectorIconTextForMain(totalCompletesMain.ToString() + "<size=50%><color=#FFFFFF33><size=55%>/" + totalMain + "</color></size>"); __instance.m_tierMarkerSectorSummary.SetSectorIconTextForSecondary(totalCompletesSecond.ToString() + "<size=50%><color=#FFFFFF33><size=55%>/" + totalSecond + "</color></size>"); __instance.m_tierMarkerSectorSummary.SetSectorIconTextForThird(totalCompletesThird.ToString() + "<size=50%><color=#FFFFFF33><size=55%>/" + totalThird + "</color></size>"); __instance.m_tierMarkerSectorSummary.SetSectorIconTextForAllCleared(totalCompletesPE.ToString() + "<size=50%><color=#FFFFFF33><size=55%>/" + totalPE + "</color></size>"); } if (__instance.m_tierMarker1 == null) { return(false); } var tierBReq = __instance.m_currentRundownData.ReqToReachTierB; var tierCReq = __instance.m_currentRundownData.ReqToReachTierC; var tierDReq = __instance.m_currentRundownData.ReqToReachTierD; var tierEReq = __instance.m_currentRundownData.ReqToReachTierE; var progressionData = new RundownManager.RundownProgData() { totalMain = totalMain, totalSecondary = totalSecond, totalThird = totalThird, totalAllClear = totalPE, clearedMain = totalCompletesMain, clearedSecondary = totalCompletesSecond, clearedThird = totalCompletesThird, clearedAllClear = totalCompletesPE, tierBUnlocked = totalCompletesMain >= tierBReq.MainSectors && totalCompletesSecond >= tierBReq.SecondarySectors && totalCompletesThird >= tierBReq.ThirdSectors && totalCompletesPE >= tierBReq.AllClearedSectors, tierCUnlocked = totalCompletesMain >= tierCReq.MainSectors && totalCompletesSecond >= tierCReq.SecondarySectors && totalCompletesThird >= tierCReq.ThirdSectors && totalCompletesPE >= tierCReq.AllClearedSectors, tierDUnlocked = totalCompletesMain >= tierDReq.MainSectors && totalCompletesSecond >= tierDReq.SecondarySectors && totalCompletesThird >= tierDReq.ThirdSectors && totalCompletesPE >= tierDReq.AllClearedSectors, tierEUnlocked = totalCompletesMain >= tierEReq.MainSectors && totalCompletesSecond >= tierEReq.SecondarySectors && totalCompletesThird >= tierEReq.ThirdSectors && totalCompletesPE >= tierEReq.AllClearedSectors }; __instance.m_tierMarker1.SetProgression(progressionData, new RundownTierProgressionData()); __instance.UpdateTierIconsWithProgression(null, __instance.m_expIconsTier1, __instance.m_tierMarker1, true); __instance.m_tierMarker2.SetProgression(progressionData, tierBReq); __instance.UpdateTierIconsWithProgression(null, __instance.m_expIconsTier2, __instance.m_tierMarker2, progressionData.tierBUnlocked); __instance.m_tierMarker3.SetProgression(progressionData, tierCReq); __instance.UpdateTierIconsWithProgression(null, __instance.m_expIconsTier3, __instance.m_tierMarker3, progressionData.tierCUnlocked); __instance.m_tierMarker4.SetProgression(progressionData, tierDReq); __instance.UpdateTierIconsWithProgression(null, __instance.m_expIconsTier4, __instance.m_tierMarker4, progressionData.tierDUnlocked); __instance.m_tierMarker5.SetProgression(progressionData, tierEReq); __instance.UpdateTierIconsWithProgression(null, __instance.m_expIconsTier5, __instance.m_tierMarker5, progressionData.tierEUnlocked); return(false); }