コード例 #1
0
        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);
            }
        }