示例#1
0
        public void Recycle(List <AkBankRes> bankResList)
        {
            if (!IsInitialized)
            {
                IsInitialized = true;
            }
            else
            {
                triggerList.Recycle(false);
                var unloadFailList = bankAtomSet.UnloadAll();

                if (unloadFailList.Count > 0)
                {
                    //TODO:异常处理
                }
                bankAtomSet.Recycle();
            }
            triggerList.BindTarget(AKAudioEntry.WiseNotificationRoute.gameObject);
            AKBankAtom atom = null;

            foreach (AkBankRes bankData in bankResList)
            {
                bankAtomSet.Add(bankData, handlerAgent);
                List <int> list = atom.GetTriggerList();
                for (int i = 0; i < list.Count; i++)
                {
                    triggerList.Subscribe((AudioTriggerEventType)list[i], atom.LoadHandler);
                }
                list = atom.GetUnLoadTriggerList();
                for (int i = 0; i < list.Count; i++)
                {
                    triggerList.Subscribe((AudioTriggerEventType)list[i], atom.UnloadHandler);
                }
            }
        }
示例#2
0
 public AKAudioBankLoader()
 {
     handlerAgent = new BankLoadHandlerAgent(InternalLoadBnkHandler, InteranlUnloadBnkHandler);
     bankAtomSet  = new AKBankAtomSet(handlerAgent);
     bankAtomSet.Add(AudioConfigSimulator.SimAKBankCfg(), handlerAgent);
 }