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); }
//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); }
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); } }
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); }
private void DefaultLoadHandler(BankLoadResponseStruct response) { AudioUtil.AssertProcessResult(response.loadResult, "load {0}", response.atom.BankName); }