Example #1
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>
        /// 销毁接口
        /// </summary>
        public void destroy()
        {
            if (materials != null)
            {
                for (int i = 0; i < materials.Count; i++)
                {
                    Object.Destroy(materials[i]);
                }
                materials.Clear();
            }
            _listElement.Clear();
            _listAnimations = null;
            _listBindPoints = null;
            _listAnimEvent  = null;
            _nWeaponLev     = 1;
            _bExclusive     = false;
            _listUncomplete.Clear();
            _bIsBaseLoaded    = false;
            _onCreateComplete = null;

            if (_pModelRoot != null)
            {
                SkinnedMeshRenderer skmr = _pModelRoot.GetComponent <SkinnedMeshRenderer>();
                if (skmr != null && skmr.sharedMesh != null)
                {
                    Object.Destroy(skmr.sharedMesh);
                    skmr.sharedMesh = null;
                }
                if (skmr != null && skmr.materials != null)
                {
                    int count = skmr.materials.Length;
                    for (int i = 0; i < count; i++)
                    {
                        Object.Destroy(skmr.materials[i]);
                    }
                }
                Object.Destroy(_pModelRoot);
                _pModelRoot = null;
            }


            //卸载资源
            if (_baseAssetbundleLoadTask != null)
            {
                _baseAssetbundleLoadTask.unloadUnusedAssetbundle(true);
            }
            foreach (var abTask in _listElement)
            {
                abTask.unloadAssetBundle();
            }

            //Resources.UnloadUnusedAssets();
            //AssetManager.getInstance().UnloadUnusedResourcesAssets();
        }
Example #2
0
        public Model createModel(int playerID,                                  //playerid
                                 string strModelID,                             //模型id
                                 PlayerDelegate.onPlayerEvent delegateComplete, //创建完成回调
                                 Vector3 birthPos                               //出生位置
                                 )
        {
            int   nWeaponLev = 1; //武器等级(已无用)
            Model m          = new Model(playerID.ToString(), strModelID, birthPos, nWeaponLev, false, delegateComplete, playerID);

            m.load();
            _listWaitingCreateBuffer.Add(m);
            return(m);
        }
Example #3
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        //构造函数
        public Model(string strModelName, string strModelID, Vector3 bithPos, int nWeaponLev = 1, bool bExclusive = false, PlayerDelegate.onPlayerEvent delegateComplete = null, int playerID = 0)
        {
            _strModelName = strModelName;
            _strModelID   = strModelID;
            _strFBXName   = "shape" + _strModelID;

            _nWeaponLev       = Mathf.Clamp(nWeaponLev, 1, 3);
            _bExclusive       = bExclusive;
            _onCreateComplete = delegateComplete;
            _tfDefaultPos     = bithPos;
            _playerID         = playerID;
            //load();
        }
Example #4
0
        /// <summary>
        /// 根据模型ID创建模型
        /// </summary>
        /// <param name="strModelID"></param>
        /// <param name="delegateComplete"></param>
        /// <param name="nWeaponLev"></param>
        /// <param name="bExclusive"></param>
        /// <param name="tf"></param>
        /// <param name="ignoreComponents"></param>
        /// <returns></returns>
        public Model createModel(string strModelID,                             //模型id
                                 PlayerDelegate.onPlayerEvent delegateComplete, //创建完成回调
                                 Vector3 birthPos,                              //出生位置
                                 int nWeaponLev  = 1,                           //武器等级
                                 bool bExclusive = false,                       //是否专属
                                 params string[] ignoreComponents               //忽略的组件名
                                 )
        {
            Model m = new Model(strModelID, strModelID, birthPos, nWeaponLev, bExclusive, delegateComplete);

            m.setIgnoreComponents(ignoreComponents);
            m.load();
            _listWaitingCreateBuffer.Add(m);
            return(m);
        }
Example #5
0
 public void createModelTest(PlayerDelegate.onPlayerEvent delegateComplete)
 {
     Debug.Log("createModelTest");
     delegateComplete(null);
 }
Example #6
0
        /////////////////////////////////////////////////////////////////////////////////////

        //初始化Player类
        public void init()
        {
            onModelCreateEvent = onModelCreateSuccessEvent;
        }