static void Postfix(ZEventListener __instance, IVisitor visitor) { if (!__instance.eventName_.StartsWith(CustomDataInfo.GetPrefix <MusicChoice>())) { return; } CachedMusicChoice.GetOr(__instance, () => MusicChoice.FromObject(__instance)); }
public static string GetMusicChoiceValue(UnityEngine.GameObject obj, string key) { var listener = obj.GetComponent <ZEventListener>(); if (listener == null || !listener.eventName_.StartsWith(CustomDataInfo.GetPrefix <MusicChoice>())) { return(null); } var choice = CachedMusicChoice.GetOr(listener, () => MusicChoice.FromObject(listener)); if (choice == null) { return(null); } MusicChoiceEntry entry = null; choice.Choices.TryGetValue(key, out entry); if (entry == null) { return(null); } return(entry.Track); }