Exemplo n.º 1
0
        /// <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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
    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();
    }