public static void Postfix(LevelGridCell __instance, ref UIButton ___button_)
 {
     try
     {
         LevelGridGrid.LevelEntry entry = __instance.entry_ as LevelGridGrid.LevelEntry;
         string path = entry.AbsolutePath_;
         if (Utils.Campaign.IsCustomCampaignLevel(path))
         {
             __instance.titleLabel_.enabled     = false;
             __instance.authorLabel_.enabled    = false;
             __instance.soloTitleLabel_.enabled = true;
             if (LockingSystem.IsLevelLocked(path))
             {
                 __instance.lockedIcon_.SetActive(true);
                 ___button_.onClick.Clear();
                 string leveltitle = "";
                 foreach (var c in entry.LevelInfo_.levelName_)
                 {
                     leveltitle += c.ToString() == " " ? " " : "?";
                 }
                 __instance.soloTitleLabel_.text = leveltitle;
             }
             else
             {
                 __instance.soloTitleLabel_.text = entry.LevelInfo_.levelName_;
             }
         }
     }
     catch (NullReferenceException nre)
     {
         Plugin.Log.Exception(nre);
     }
 }
Beispiel #2
0
        public static bool Prefix(LevelGridMenu __instance, ref int index)
        {
            LevelPlaylist playlist = __instance.DisplayedEntry_.Playlist_;
            string        level    = playlist.Playlist_[index].levelNameAndPath_.levelPath_;

            if (Utils.Campaign.GetCampaignUnlockMode(level) == Models.Campaign.UnlockStyle.LevelSet)
            {
                return(true);
            }
            else
            {
                bool flag = Utils.Campaign.IsCustomCampaignLevel(level) && LockingSystem.IsLevelLocked(level);
                if (flag)
                {
                    G.Sys.MenuPanelManager_.ShowTimedOk(10, Constants.Strings.LevelLocked_Message, Constants.Strings.LevelLocked_Title);
                }
                return(!flag);
            }
        }