void ResetScene() { foreach (GameObject uo in updateList) { Colourable c = uo.GetComponent <Colourable>(); if (c != null) { c.ResetColour(); } //ColourableTexture ct = uo.GetComponent<ColourableTexture>(); //if (ct != null) //{ // uo.GetComponent<Renderer>().material.color = ct.originalColour; //} SpatialDocument sd = uo.GetComponent <SpatialDocument>(); //if (sd != null) //{ // sd.ResetColour(); //} //DiskInteractible di = uo.GetComponent<DiskInteractible>(); //if (di != null) //{ // di.ResetMaterials(); //} Deleteable d = uo.GetComponent <Deleteable>(); if (d != null) { if (d.deleted) { uo.GetComponent <Deleteable>().deleted = false; if (sd != null) { uo.transform.parent = sd.spawner.transform; } else { // Not sure how to handle this condition, but currently only documents are deleteable uo.transform.parent = null; } } } Brush b = uo.GetComponent <Brush>(); if (b != null) { uo.GetComponent <Renderer>().material.color = Color.white; } //t.gameObject.SetActive(true); } }
public override IDock CreateLayout() { SpatialDocument document = new SpatialDocument(); ILayer layer = document.AddItemsLayer(); document.SelectedNode = layer; layer.Name = "WKT Geometries"; var documentViewModel = new SceneControlDocumentViewModel() { Id = "Document1", Title = "Document 1" }; documentViewModel.SceneControlViewModel.Document = document; var layersToolViewModel = new LayersViewModel() { Id = "Layers", Title = "Layers" }; layersToolViewModel.SceneViewModel.Scene = documentViewModel.SceneControlViewModel; var editLayerToolViewModel = new EditLayerViewModel() { Id = "GroupAndLayerSettings", Title = "Group and Layer Settings" }; editLayerToolViewModel.SceneViewModel.Scene = documentViewModel.SceneControlViewModel; var addGeometryViewModel = new AddGeometryViewModel() { Id = "AddGeometry", Title = "Add Geometry" }; addGeometryViewModel.SceneViewModel.Scene = documentViewModel.SceneControlViewModel; var mainLayout = new ProportionalDock { Id = "MainLayout", Title = "MainLayout", Proportion = double.NaN, Orientation = Orientation.Horizontal, ActiveDockable = null, VisibleDockables = CreateList <IDockable> ( new ProportionalDock { Id = "LeftPane", Title = "LeftPane", Proportion = .2, Orientation = Orientation.Vertical, ActiveDockable = null, VisibleDockables = CreateList <IDockable> ( new ToolDock { Id = "LeftPaneTop", Title = "LeftPaneTop", Proportion = double.NaN, ActiveDockable = layersToolViewModel, VisibleDockables = CreateList <IDockable> ( layersToolViewModel ) }, new SplitterDock() { Id = "LeftPaneTopSplitter", Title = "LeftPaneTopSplitter" }, new ToolDock { Id = "LeftPaneBottom", Title = "LeftPaneBottom", Proportion = double.NaN, ActiveDockable = editLayerToolViewModel, VisibleDockables = CreateList <IDockable> ( editLayerToolViewModel ) } ) }, new SplitterDock() { Id = "LeftSplitter", Title = "LeftSplitter" }, new ProportionalDock { Id = "CenterPane", Title = "CenterPane", Proportion = double.NaN, Orientation = Orientation.Vertical, ActiveDockable = null, VisibleDockables = CreateList <IDockable> ( new DocumentDock { Id = "DocumentsPane", Title = "DocumentsPane", Proportion = .8, ActiveDockable = documentViewModel, VisibleDockables = CreateList <IDockable> ( documentViewModel ) }, new SplitterDock() { Id = "CenterPaneSplitter", Title = "CenterPaneSplitter" }, new ToolDock { Id = "CenterPaneBottom", Title = "CenterPaneBottom", Proportion = double.NaN, ActiveDockable = addGeometryViewModel, VisibleDockables = CreateList <IDockable> ( addGeometryViewModel ) } ) } ) }; var mainView = new MainViewModel { Id = "Main", Title = "Main", ActiveDockable = mainLayout, VisibleDockables = CreateList <IDockable>(mainLayout) }; var root = CreateRootDock(); root.Id = "Root"; root.Title = "Root"; root.ActiveDockable = mainView; root.DefaultDockable = mainView; root.VisibleDockables = CreateList <IDockable>(mainView); root.Top = CreatePinDock(); root.Top.Alignment = Alignment.Top; root.Bottom = CreatePinDock(); root.Bottom.Alignment = Alignment.Bottom; root.Left = CreatePinDock(); root.Left.Alignment = Alignment.Left; root.Right = CreatePinDock(); root.Right.Alignment = Alignment.Right; return(root); }