protected void OnPieceSelected(ChessPiece piece) { ContentPackage package = Parent.Content[ChessGame.DefaultPackage]; Model selectedModel; if (RenderScene.Models.ContainsKey(SelectedModelName)) { RenderScene.Models.Remove(SelectedModelName); } if (selectedPiece != null) { RenderScene.RemoveRenderNode(selectedPiece.RenderNode); selectedPiece.RenderNode.Model = RenderScene.Models[selectedPiece.ModelName]; RenderScene.AddRenderNode(selectedPiece.RenderNode); } selectedPiece = piece; if (piece != null) { selectedModel = new Model() { Name = SelectedModelName, MeshGroup = selectedPiece.RenderNode.Model.MeshGroup, Material = RenderScene.Materials[SelectedMaterialName] }; RenderScene.AddModel(selectedModel); RenderScene.RemoveRenderNode(selectedPiece.RenderNode); selectedPiece.RenderNode.Model = selectedModel; RenderScene.AddRenderNode(selectedPiece.RenderNode); } }