Exemplo n.º 1
0
        public void LoadAtom(BankLoadRequestStruct requrest, BankResultHandler handler, GameObject target, object userData = null)
        {
            AKRESULT   result;
            AKBankAtom atom = bankAtomSet.Get(requrest.bnkName);

            if (atom == null)
            {
                if (requrest.ignoreIfAssetNotExist)
                {
                    if (handler != null)
                    {
                        handler(BankLoadResponseStruct.Create(requrest.bnkName, AKRESULT.AK_BankNotLoadYet));
                    }
                    return;
                }
                atom = bankAtomSet.Register(requrest, false);
            }
            else
            {
                result = bankAtomSet.Vertify(atom);
                if (result != AKRESULT.AK_Success)
                {
                    if (handler != null)
                    {
                        handler(BankLoadResponseStruct.Create(requrest.bnkName, result, target, userData));
                    }
                    return;
                }
            }
            atom.Load(handler, target, userData);
        }
Exemplo n.º 2
0
        //TODO:异步加载
        public void Load(BankResultHandler callback, GameObject target, object userData = null)
        {
            onLoadBefore(this);
            AKRESULT result = AkBankManager.LoadBankRes(BankName, false, false);
            BankLoadResponseStruct callbackData = new BankLoadResponseStruct();

            callbackData.loadResult = result;
            callbackData.callback   = callback;
            callbackData.userData   = userData;
            callbackData.target     = target;
            callbackData.atom       = this;
            callbackData.bnkName    = BankName;
            onLoadFinish(callbackData);
        }
Exemplo n.º 3
0
 void OnLoadResult(BankLoadResponseStruct response)
 {
     loadingBanks.Remove(response.atom);
     if (response.loadResult.Sucess())
     {
         loadedBanks.Add(response.atom);
     }
     if (response.callback != null)
     {
         response.callback(response);
     }
     else
     {
         AudioUtil.AssertProcessResult(response.loadResult, "load {0}", response.atom.BankName);
     }
 }
Exemplo n.º 4
0
        private void LoadResultHandler(BankLoadResponseStruct response)
        {
            if (!response.loadResult.Sucess())
            {
                AudioUtil.ELog("result:{0} bank name:{1}", response.loadResult, response.bnkName);
                return;
            }
            //get bank post -> loadresult->bank.register
            if (response.loadResult == AKRESULT.AK_Success)
            {
                response.atom.Register(response.target);
            }
            //get evt
            AKEventAtom evtAtom = typesController.RegisterGetEvt((AudioEventItem)response.userData);

            //get bank
            evtAtom.PostEvent(response.target);
        }
Exemplo n.º 5
0
 private void DefaultLoadHandler(BankLoadResponseStruct response)
 {
     AudioUtil.AssertProcessResult(response.loadResult, "load {0}", response.atom.BankName);
 }