Beispiel #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);
                }
            }
        }
Beispiel #2
0
 private void InternalLoadBnkHandler(AKBankAtom atom)
 {
     if (atom.InternalAsyncLoad)
     {
         TryLoadBnkAsync(atom.GetName());
     }
     else
     {
         TryLoadBnk(atom.GetName());
     }
 }
Beispiel #3
0
        internal bool Add(AkBankRes bankData, AKAudioBankLoader.BankLoadHandlerAgent loadHandlers)
        {
            AKBankAtom atom;
            string     bankName = bankData.Name;

            if (bankAtomContenter.TryGetValue(bankName, out atom))
            {
                return(false);
            }
            atom = new AKBankAtom(bankData, loadHandlers);
            bankAtomContenter.Add(bankName, atom);
            //  bankFinishLoadingIdList.Add(bankName);

            return(true);
        }
Beispiel #4
0
 private void InteranlUnloadBnkHandler(AKBankAtom atom)
 {
     TryUnloadBnk(atom.GetName());
 }