示例#1
0
 static void Postfix(ZEventListener __instance, IVisitor visitor)
 {
     if (!__instance.eventName_.StartsWith(CustomDataInfo.GetPrefix <MusicChoice>()))
     {
         return;
     }
     CachedMusicChoice.GetOr(__instance, () => MusicChoice.FromObject(__instance));
 }
示例#2
0
        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);
        }