Skip to content

Commit

Permalink
fixed #210
Browse files Browse the repository at this point in the history
  • Loading branch information
keyemkey committed Jul 7, 2013
1 parent 277dabc commit 80f7e1e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 11 deletions.
10 changes: 10 additions & 0 deletions awaybuilder-core/src/awaybuilder/controller/scene/DeleteCommand.as
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@ package awaybuilder.controller.scene
import awaybuilder.model.vo.scene.AssetVO;
import awaybuilder.model.vo.scene.CameraVO;
import awaybuilder.model.vo.scene.ContainerVO;
import awaybuilder.model.vo.scene.EffectVO;
import awaybuilder.model.vo.scene.LightPickerVO;
import awaybuilder.model.vo.scene.LightVO;
import awaybuilder.model.vo.scene.MaterialVO;
import awaybuilder.model.vo.scene.MeshVO;
import awaybuilder.model.vo.scene.ObjectVO;
import awaybuilder.model.vo.scene.ShadowMethodVO;
import awaybuilder.model.vo.scene.SharedEffectVO;
import awaybuilder.model.vo.scene.SkyBoxVO;
import awaybuilder.model.vo.scene.TextureProjectorVO;
import awaybuilder.utils.scene.Scene3DManager;
Expand Down Expand Up @@ -133,6 +135,10 @@ package awaybuilder.controller.scene
{
materialVO.shadowMethod = null;
}
else if( asset is EffectVO )
{
removeAsset( materialVO.effectMethods, asset );
}

}
}
Expand Down Expand Up @@ -171,6 +177,10 @@ package awaybuilder.controller.scene
{
materialVO.shadowMethod = asset as ShadowMethodVO;
}
else if( asset is EffectVO )
{
materialVO.effectMethods.addItemAt( new SharedEffectVO(asset as EffectVO), index );
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,8 @@ package awaybuilder.view.mediators
private var _model:DocumentVO;

private var _selectedSceneItems:Vector.<Object> = new Vector.<Object>();
private var _selectedMaterialsItems:Vector.<Object> = new Vector.<Object>();
private var _selectedTexturesItems:Vector.<Object> = new Vector.<Object>();
private var _selectedGeometryItems:Vector.<Object> = new Vector.<Object>();
private var _selectedMethodsItems:Vector.<Object> = new Vector.<Object>();
private var _selectedAnimationsItems:Vector.<Object> = new Vector.<Object>();
private var _selectedLightsItems:Vector.<Object> = new Vector.<Object>();

private var _alreadySelected:Boolean = false;

override public function onRegister():void
{
Expand Down Expand Up @@ -265,7 +261,6 @@ package awaybuilder.view.mediators

}

private var _alreadySelected:Boolean = false;
//----------------------------------------------------------------------
//
// context handlers
Expand Down Expand Up @@ -305,7 +300,15 @@ package awaybuilder.view.mediators
var assetsList:Vector.<AssetVO>;
for each( var state:DeleteStateVO in states )
{
if( state.asset is ShadowMethodVO )
if( state.asset is EffectVO )
{
assetsList = document.getAssetsByType( MaterialVO, materialsWithEffectFilterFunciton, state.asset );
for each( asset in assetsList )
{
additionalStates.push( new DeleteStateVO( state.asset, asset ) );
}
}
else if( state.asset is ShadowMethodVO )
{
assetsList = document.getAssetsByType( MaterialVO, materialsWithShadowMethodFilterFunciton, state.asset );
for each( asset in assetsList )
Expand All @@ -314,7 +317,7 @@ package awaybuilder.view.mediators
}

}
if( state.asset is LightVO )
else if( state.asset is LightVO )
{
assetsList = document.getAssetsByType( LightPickerVO, lightPickersWithLightFilterFunciton, state.asset );
for each( asset in assetsList )
Expand All @@ -332,8 +335,7 @@ package awaybuilder.view.mediators

}
}

if( state.asset is LightPickerVO )
else if( state.asset is LightPickerVO )
{
assetsList = document.getAssetsByType( MaterialVO, materialsWithLightPickerFilterFunciton, state.asset );
for each( asset in assetsList )
Expand All @@ -355,6 +357,14 @@ package awaybuilder.view.mediators

}

private function materialsWithEffectFilterFunciton( asset:MaterialVO, filter:AssetVO ):Boolean
{
for each( var effect:EffectVO in asset.effectMethods )
{
if( effect.equals( filter ) ) return true;
}
return false;
}
private function materialsWithShadowMethodFilterFunciton( asset:MaterialVO, filter:AssetVO ):Boolean
{
return (asset.shadowMethod == filter);
Expand Down

0 comments on commit 80f7e1e

Please sign in to comment.