// исследуем мутацию и обновляем кнопки в боковом экране internal static void IdentifyMutation(this MutantPlant mutant) { if (mutant != null) { PlantSubSpeciesCatalog.Instance.IdentifySubSpecies(mutant.SubSpeciesID); DetailsScreen.Instance.Trigger((int)GameHashes.UIRefreshData, null); } }
// применяем случайную мутацию и обновляем кнопки в боковом экране internal static void Mutator(this MutantPlant mutant) { if (mutant != null) { mutant.Mutate(); mutant.ApplyMutations(); PlantSubSpeciesCatalog.Instance.DiscoverSubSpecies(mutant.GetSubSpeciesInfo(), mutant); DetailsScreen.Instance.Trigger((int)GameHashes.UIRefreshData, null); } }
// добавляем кнопки // мутатор - для оригинального раснения или любых семян // исследование - для неизвестных мутаций private static void OnRefreshUserMenu(MutantPlant mutant) { if (Game.Instance.SandboxModeActive && mutant != null) { if (mutant.IsOriginal || mutant.HasTag(GameTags.Seed) || mutant.HasTag(GameTags.CropSeed)) { var binfo = new KIconButtonMenu.ButtonInfo("action_select_research", MUTATOR.NAME, new System.Action(mutant.Mutator), Action.NumActions, null, null, null, MUTATOR.TOOLTIP, true); Game.Instance.userMenu.AddButton(mutant.gameObject, binfo, 1f); } if (!mutant.IsOriginal && !mutant.IsIdentified) { var binfo = new KIconButtonMenu.ButtonInfo("action_select_research", IDENTIFY_MUTATION.NAME, new System.Action(mutant.IdentifyMutation), Action.NumActions, null, null, null, IDENTIFY_MUTATION.TOOLTIP, true); Game.Instance.userMenu.AddButton(mutant.gameObject, binfo, 1f); } } }
public static void Prefix(MutantPlant __instance) { __instance.Unsubscribe((int)GameHashes.RefreshUserMenu, OnRefreshUserMenuDelegate); }