|
@@ -116,6 +116,7 @@ export class PrepareMediator extends GUIMediator {
|
|
|
|
|
|
private modelView:ModelComponent;
|
|
|
|
|
|
+ private modelPrefab:Prefab;
|
|
|
private prefabInstance:Node;
|
|
|
private prefabModelComponent:ModelComponent;
|
|
|
|
|
@@ -137,7 +138,7 @@ export class PrepareMediator extends GUIMediator {
|
|
|
|
|
|
SoundManager.single.PlayMusic("sounds/main");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 初始化枪的模型
|
|
|
*/
|
|
@@ -157,6 +158,7 @@ export class PrepareMediator extends GUIMediator {
|
|
|
if(err){
|
|
|
console.error("加载武器出错");
|
|
|
}
|
|
|
+ this.modelPrefab=prefab;
|
|
|
this.prefabInstance=instantiate(prefab);
|
|
|
this.prefabModelComponent=this.prefabInstance.getComponentInChildren(ModelComponent);
|
|
|
//更换贴图
|
|
@@ -177,8 +179,14 @@ export class PrepareMediator extends GUIMediator {
|
|
|
|
|
|
this.modelView.mesh=null;
|
|
|
this.modelView.setMaterial(null,0);
|
|
|
- this.prefabInstance.destroy();
|
|
|
-
|
|
|
+ if(this.prefabInstance){
|
|
|
+ this.prefabInstance.destroy();
|
|
|
+ }
|
|
|
+ if(this.modelPrefab!=null){
|
|
|
+ var deps=loader.getDependsRecursively(this.modelPrefab);
|
|
|
+ loader.release(deps);
|
|
|
+ }
|
|
|
+
|
|
|
this.modelView.node.active=false;
|
|
|
|
|
|
this.weaponCellListView.onHide();
|