///////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// <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(); }
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); }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////// //构造函数 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(); }
/// <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); }
public void createModelTest(PlayerDelegate.onPlayerEvent delegateComplete) { Debug.Log("createModelTest"); delegateComplete(null); }
///////////////////////////////////////////////////////////////////////////////////// //初始化Player类 public void init() { onModelCreateEvent = onModelCreateSuccessEvent; }