public static bool CheckIfHasCustomRenderer(PediaUI ui, PediaDirector.Id id) { var panel = GetPanel(ui); if (PediaRegistry.activeRenderer != null) { if (PediaRegistry.activeRenderer is IReusablePediaRenderer r) { r.CurrentID = id; } PediaRegistry.activeRenderer.OnListingDeselected(panel); PediaRegistry.activeRenderer = null; } var renderer = PediaRegistry.GetRenderer(id); if (renderer == null) { return(false); } if (renderer is IReusablePediaRenderer R) { R.CurrentID = id; } renderer.OnListingSelected(panel); PediaRegistry.activeRenderer = renderer; return(true); }
/// <summary> /// Template to create new Craft Resources /// </summary> /// <param name="name">The name of the object (prefixes are recommend, but not needed)</param> /// <param name="ID">The Identifiable ID for this resource</param> /// <param name="pediaID">The pedia ID for this resource</param> /// <param name="mesh">The model's mesh for this resource</param> /// <param name="materials">The materials that compose this resource's model</param> public CraftResourceTemplate(string name, Identifiable.Id ID, PediaDirector.Id pediaID, Mesh mesh, Material[] materials) : base(name) { this.ID = ID; this.pediaID = pediaID; this.mesh = mesh; this.materials = materials; }
public static void RegisterIdEntry(PediaDirector.Id id, Sprite icon) { RegisterIdEntry(new PediaDirector.IdEntry() { id = id, icon = icon }); }
public static void RegisterIdentifiableMapping(PediaDirector.Id pedia, Identifiable.Id ident) { RegisterIdentifiableMapping(new PediaDirector.IdentMapEntry() { identId = ident, pediaId = pedia }); }
public static void SetPediaCategory(PediaDirector.Id id, PediaCategory category) { var cat = GetCategory(category).ToList(); cat.Add(id); GetCategory(category) = cat.ToArray(); }
public static void Prefix(PediaUI __instance, PediaDirector.Id id) { if (id == PediaDirector.Id.LOCKED) { return; } if (PediaRegistry.activeTabRenderer != null) { PediaRegistry.activeTabRenderer.OnTabDeselected(__instance.gameObject); PediaRegistry.activeTabRenderer = null; } foreach (var v in PediaRegistry.customTabs) { if (v.Key.Entries.Contains(id)) { v.Key.TabToggle.isOn = true; __instance.BuildListing(v.Key.Entries.ToArray()); PediaRegistry.activeTabRenderer = v.Key.TabRenderer; if (PediaRegistry.activeTabRenderer != null) { PediaRegistry.activeTabRenderer.OnTabSelected(__instance.gameObject); } } } }
/// <summary> /// Adds Pedia mappings /// </summary> /// <param name="id">The pedia ID to register</param> /// <param name="cat">The pedia category to add this in</param> public IdentifiableItem AddPediaMapping(PediaDirector.Id id, PediaRegistry.PediaCategory cat = PediaRegistry.PediaCategory.RESOURCES) { PediaRegistry.RegisterIdentifiableMapping(id, ID); PediaRegistry.RegisterIdEntry(id, Icon); PediaRegistry.SetPediaCategory(id, cat); return(this); }
public static bool Prefix(PediaDirector __instance, PediaDirector.Id id) { if (__instance.entryDict.ContainsKey(id)) { return(true); } __instance.UnlockWithoutPopup(id); return(false); }
internal static PediaTab GetCustomPediaTab(PediaDirector.Id id) { foreach (var v in customTabs) { if (v.Key.Entries.Contains(id) || v.Key.ID == id) { return(v.Key); } } return(null); }
internal static IPediaRenderer GetRenderer(PediaDirector.Id id) { if (!customPediaRenderers.TryGetValue(id, out var renderer)) { var tab = GetCustomPediaTab(id); if (tab != null) { return(GetDefaultRenderer(tab.DefaultDisplaySetting)); } return(null); } return(renderer); }
/// <summary> /// Template to create new foods /// </summary> /// <param name="name">The name of the object (prefixes are recommended, but not needed)</param> /// <param name="ID">The Identifiable ID for this food</param> /// <param name="pediaID">The pedia ID for this resource</param> /// <param name="type">The type of food</param> /// <param name="mesh">The model's mesh for this food</param> /// <param name="materials">The materials that compose this food's model</param> public FoodTemplate(string name, Identifiable.Id ID, PediaDirector.Id pediaID, Type type, Mesh mesh, Material[] materials) : base(name) { this.ID = ID; foodType = type; this.mesh = mesh; this.materials = materials; if (type != Type.CUSTOM) { releaseCue = type == Type.VEGGIE ? EffectObjects.cueVeggieRelease : EffectObjects.cueFruitRelease; hitCue = type == Type.VEGGIE ? EffectObjects.cueHitVeggie : EffectObjects.cueHitFruit; ejectWhenMature = type == Type.VEGGIE; } }
public static void RegisterRenderer(PediaDirector.Id id, IPediaRenderer renderer) { customPediaRenderers.Add(id, renderer); }
public static void RegisterInitialPediaEntry(PediaDirector.Id id) { initialEntries.Add(id); }
public ResourcePediaEntryTranslation(PediaDirector.Id id) : base(id) { }
public TutorialPediaEntryTranslation(PediaDirector.Id id) : base(id) { }
public SlimePediaEntryTranslation(PediaDirector.Id id) : base(id) { }