Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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;
                }
            }
        }
Ejemplo n.º 6
0
 public HotReloader(IntPtr intPtr) : base(intPtr)
 {
     Rundown = FindObjectOfType <CM_PageRundown_New>();
 }
Ejemplo n.º 7
0
 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);
        }