/// <summary> /// 添加常驻音频资源,建议尽早添加,不要在用的时候再添加 /// </summary> private void AddRetainAudio(string audioName) { if (mRetainResLoader == null) { mRetainResLoader = ResLoader.Allocate(); } if (mRetainAudioNames == null) { mRetainAudioNames = new List <string>(); } if (!mRetainAudioNames.Contains(audioName)) { mRetainAudioNames.Add(audioName); mRetainResLoader.Add2Load(audioName); mRetainResLoader.LoadAsync(); } }
public void SetAudio(GameObject root, string name, bool loop) { if (string.IsNullOrEmpty(name)) { return; } if (mName == name) { return; } if (mSource == null) { mSource = root.AddComponent <AudioSource>(); } //防止卸载后立马加载的情况 ResLoader preLoader = mLoader; mLoader = null; CleanResources(); mLoader = ResLoader.Allocate(); mIsLoop = loop; mName = name; mLoader.Add2Load(name, OnResLoadFinish); if (preLoader != null) { preLoader.Recycle2Cache(); preLoader = null; } if (mLoader != null) { mLoader.LoadAsync(); } }
public Role(Hero hero) { this.hero = hero; ID = hero.ID; Level = hero.Level; int wpid = hero.Weapons.First().Key; int wplv = hero.Weapons.First().Value; CurWeapon = new Weapon(wpid, wplv, this); Loader = QF.Res.ResLoader.Allocate(); //use preload async in manager to ensure sync here ?? GameObject model = Loader.LoadSync <GameObject>(Data.Model); Controller = GameObject.Instantiate(model).GetComponent <RoleController>(); Controller.role = this; Controller.Init(); Init(); }