public static void SaveConfig(string fileName, Octave3DConfigSaveLoadSettings saveSettings) { if (string.IsNullOrEmpty(fileName)) { return; } using (XmlTextWriter xmlWriter = new XmlTextWriter(fileName, Encoding.UTF8)) { xmlWriter.WriteStartDocument(); xmlWriter.WriteNewLine(0); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.RootNode); SaveSnapSettings(xmlWriter, saveSettings); SaveObjectSelectionSettings(xmlWriter, saveSettings); SaveObjectErasingSettings(xmlWriter, saveSettings); SaveMirrorLookAndFeel(ObjectPlacement.Get().MirrorRenderSettings, xmlWriter, saveSettings, true); SaveMirrorLookAndFeel(ObjectSelection.Get().MirrorRenderSettings, xmlWriter, saveSettings, false); SaveSnapLookAndFeel(xmlWriter, saveSettings); SaveObjectPlacementLookAndFeel(xmlWriter, saveSettings); SaveObjectSelectionLookAndFeel(xmlWriter, saveSettings); SaveObjectErasingLookAndFeel(xmlWriter, saveSettings); xmlWriter.WriteNewLine(0); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } }
protected override void RenderContent() { if (!ObjectPlacement.Get().UserWantsToPlaceTileConnections) { RenderExcludeCornersToggle(); } if (!ObjectPlacement.Get().UserWantsToPlaceTileConnections) { RenderRandomizePrefabsInActiveCategoryToggle(); } if (!ObjectPlacement.Get().UserWantsToPlaceTileConnections) { RenderRotateObjectsToFollowPathToggle(); } RenderObjectMissChanceSlider(); RenderOffsetAlongGrowDirectionField(); if (!ObjectPlacement.Get().UserWantsToPlaceTileConnections) { _settings.PaddingSettings.View.Render(); } EditorGUILayout.Separator(); _settings.BorderSettings.View.Render(); EditorGUILayout.Separator(); _settings.HeightAdjustmentSettings.View.Render(); }
private static void EnsureGuideUsesBeginTileConnectionPrefab() { ObjectPlacementPathTileConnectionSettings tileConnectionSettings = ObjectPlacement.Get().PathObjectPlacement.PathSettings.TileConnectionSettings; ObjectPlacementPathTileConnectionTypeSettings beginTileConnectionSettings = tileConnectionSettings.GetSettingsForTileConnectionType(ObjectPlacementPathTileConnectionType.Begin); if (CanRefreshGuideToUseBeginTileConnectionPrefab(beginTileConnectionSettings)) { PrefabCategory categoryWhichContainsBeginPrefab = PrefabCategoryDatabase.Get().GetPrefabCategoryWhichContainsPrefab(beginTileConnectionSettings.Prefab); if (categoryWhichContainsBeginPrefab == null) { return; } PrefabCategoryDatabase.Get().SetActivePrefabCategory(categoryWhichContainsBeginPrefab); categoryWhichContainsBeginPrefab.SetActivePrefab(beginTileConnectionSettings.Prefab); ObjectPlacement.Get().DestroyPlacementGuide(); ObjectPlacementGuide.CreateFromActivePrefabIfNotExists(); } // Note: When using tile connections, we will always use the original prefab scale if (ObjectPlacementGuide.ExistsInScene) { ObjectPlacementGuide.Instance.WorldScale = beginTileConnectionSettings.Prefab.InitialWorldScale; } }
public void Snap() { float offsetFromSurface = SourcePrefab.OffsetFromGridSurface; if (ObjectSnapping.Get().SnapSurfaceType != SnapSurfaceType.GridCell) { offsetFromSurface = SourcePrefab.OffsetFromObjectSurface; } if (AllShortcutCombos.Instance.PlaceGuideBehindSurfacePlane.IsActive()) { offsetFromSurface *= -1.0f; } if (AllShortcutCombos.Instance.SnapCenterToCenter.IsActive()) { ObjectSnapping.Get().SnapObjectHierarchyToCenterOfSnapSurface(gameObject, ObjectPlacement.Get().CenterProjectedGuidePivotPoint, ObjectPlacement.Get().ProjectedGuidePivotPoints, offsetFromSurface); } else { ObjectSnapping.Get().SnapObjectHierarchy(gameObject, ObjectPlacement.Get().ProjectedGuidePivotPoints, offsetFromSurface); } PersistentObjectPlacementGuideData.Get().LastUsedWorldPosition = _transform.position; }
protected override void HandleRepaintEvent(Event e) { if (!CanEventBeHandled(e)) { return; } base.HandleRepaintEvent(e); ObjectPlacement.Get().HandleRepaintEvent(e); }
protected override void HandleKeyboardButtonUpEvent(Event e) { if (!CanEventBeHandled(e)) { return; } base.HandleKeyboardButtonUpEvent(e); ObjectPlacement.Get().HandleKeyboardButtonUpEvent(e); }
protected override void HandleMouseScrollWheelEvent(Event e) { if (!CanEventBeHandled(e)) { return; } base.HandleMouseScrollWheelEvent(e); ObjectPlacement.Get().HandleMouseScrollWheelEvent(e); }
public static GameObject GetSurfaceObject() { ObjectPlacementSettings objectPlacementSettings = ObjectPlacementSettings.Get(); if (objectPlacementSettings.ObjectPlacementMode == ObjectPlacementMode.DecorPaint) { return(ObjectPlacement.Get().DecorPaintObjectPlacement.DecorPaintSurfaceObject); } else { return(ObjectSnapping.Get().ObjectSnapSurfaceObject); } }
private void OnEditorUpdate() { if (!EditorApplication.isPlaying) { if (Octave3DWorldBuilder.ActiveInstance == null) { UndoEx.DestroyObjectImmediate(gameObject); } else if (!Selection.Contains(Octave3DWorldBuilder.ActiveInstance.gameObject)) { ObjectPlacement.Get().DestroyPlacementGuide(); } } }
public override void Render() { if (ObjectPlacement.Get().IsPlacementLocked) { string helpMessage = "Object placement is currently locked. Press \'" + AllShortcutCombos.Instance.LockObjectPlacement.ToString() + "\' to toggle the lock state."; EditorGUILayout.HelpBox(helpMessage, UnityEditor.MessageType.Warning); } RenderXZGridRotationField(); ObjectPlacement.Get().MirrorView.Render(); Octave3DWorldBuilder.ActiveInstance.PlacementObjectGroupDatabase.View.Render(); ObjectPlacementSettings.Get().View.Render(); if (ObjectPlacementSettings.Get().ObjectPlacementMode == ObjectPlacementMode.DecorPaint) { RenderControlsForDecorPaintPlacementMode(); } _objectPlacementLookAndFeelSettingsView.Render(); }
protected override void RenderContent() { ObjectPlacement.Get().GuidePivotPointsRenderSettings.View.Render(); ObjectPlacement.Get().ObjectVertexSnapSessionRenderSettings.View.Render(); ObjectPlacementMode placementMode = ObjectPlacement.Get().ObjectPlacementMode; if (placementMode == ObjectPlacementMode.Path) { _pathObjectPlacementLookAndFeelSettingsView.Render(); } else if (placementMode == ObjectPlacementMode.Block) { _blockObjectPlacementLookAndFeelSettingsView.Render(); } else if (placementMode == ObjectPlacementMode.DecorPaint) { _decorPaintLookAndFeelSettingsView.Render(); } }
private static void EnsureGuideUsesActivePrefab() { PrefabCategory activePrefabCategory = PrefabCategoryDatabase.Get().ActivePrefabCategory; if (activePrefabCategory != null) { Prefab activePrefab = activePrefabCategory.ActivePrefab; if (activePrefab != null) { if (!ObjectPlacementGuide.ExistsInScene) { ObjectPlacementGuide.CreateFromActivePrefabIfNotExists(); } else if (ObjectPlacementGuide.Instance.SourcePrefab != activePrefab) { ObjectPlacement.Get().DestroyPlacementGuide(); ObjectPlacementGuide.CreateFromActivePrefabIfNotExists(); } } } }
public static void EnsureGuideUsesCorrectPrefab() { if (ObjectPlacement.Get().IsObjectVertexSnapSessionActive) { ObjectPlacement.Get().DestroyPlacementGuide(); return; } if (ObjectPlacement.Get().ObjectPlacementMode == ObjectPlacementMode.VolumeTiles) { ObjectPlacement.Get().DestroyPlacementGuide(); return; } if (ObjectPlacement.Get().UserWantsToPlaceTileConnections) { EnsureGuideUsesBeginTileConnectionPrefab(); } else if (ObjectPlacement.Get().UsingBrushDecorPaintMode) { ObjectPlacement.Get().DestroyPlacementGuide(); } else { EnsureGuideUsesActivePrefab(); } // If the placement guide exists in the scene but its source prefab is not available, destroy the guide if (ObjectPlacementGuide.ExistsInScene) { if (!ObjectPlacementGuide.Instance.IsSourcePrefabAvailable) { ObjectPlacement.Get().DestroyPlacementGuide(); } } }
private Vector3 CalculateNewPlacementGuidePosition() { float offsetFromSurface = ObjectPlacementGuide.Instance.SourcePrefab.OffsetFromGridSurface; if (SurfaceType != DecorPaintStrokeSurfaceType.GridCell) { offsetFromSurface = ObjectPlacementGuide.Instance.SourcePrefab.OffsetFromObjectSurface; } if (AllShortcutCombos.Instance.PlaceGuideBehindSurfacePlane.IsActive()) { offsetFromSurface *= -1.0f; } if (ObjectPlacement.Get().Settings.DecorPaintObjectPlacementSettings.SingleDecorPaintModeSettings.UseOriginalPivot) { return(_strokeSurface.MouseCursorPickPoint + StrokeSurfacePlane.normal * offsetFromSurface); } else { Vector3 fromActivePivotPointToGuidePosition = ObjectPlacementGuide.Instance.WorldPosition - ObjectPlacement.Get().ActiveGuidePivotPoint; return(_strokeSurface.MouseCursorPickPoint + fromActivePivotPointToGuidePosition + StrokeSurfacePlane.normal * offsetFromSurface); } }
public void RemoveNullPrefabReferences() { if (PrefabPreviewTextureCache.Get() == null) { return; } if (PrefabCategoryDatabase.Get() == null) { return; } if (DecorPaintObjectPlacementBrushDatabase.Get() == null) { return; } if (ObjectPlacement.Get() == null) { return; } PrefabPreviewTextureCache.Get().DestroyTexturesForNullPrefabEntries(); PrefabCategoryDatabase.Get().RemoveNullPrefabEntriesInAllCategories(); DecorPaintObjectPlacementBrushDatabase.Get().RemoveNullPrefabsFromAllBrushElements(); ObjectPlacement.Get().PathObjectPlacement.PathSettings.TileConnectionSettings.RemoveNullPrefabReferences(); }
private void AdjustGuidePivotPoints() { OrientedBox guideHierarchyWorldOrientedBox = ObjectPlacementGuide.SceneObject.GetHierarchyWorldOrientedBox(); ObjectPlacement.Get().ProjectedGuidePivotPoints.FromOrientedBoxAndDecorStrokeSurface(guideHierarchyWorldOrientedBox, _strokeSurface); }
public static PathObjectPlacement Get() { return(ObjectPlacement.Get().PathObjectPlacement); }
private static void SaveObjectPlacementLookAndFeel(XmlTextWriter xmlWriter, Octave3DConfigSaveLoadSettings saveSettings) { if (saveSettings.ObjectPlacementLookAndFeel) { ObjectPivotPointsRenderSettings pivotPointsRenderSettings = ObjectPlacement.Get().GuidePivotPointsRenderSettings; ProjectedBoxFacePivotPointsRenderSettings projectedPivotPointRenderSettings = pivotPointsRenderSettings.ProjectedBoxFacePivotPointsRenderSettings; ObjectVertexSnapSessionRenderSettings vertexSnapRenderSettings = ObjectPlacement.Get().ObjectVertexSnapSessionRenderSettings; xmlWriter.WriteNewLine(1); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectPlacementLookAndFeelNode); // Pivot points xmlWriter.WriteNewLine(2); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.GuidePivotPointsLookAndFeelNode); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.GuidePivotPointsShapeTypeNode); xmlWriter.WriteString(pivotPointsRenderSettings.ShapeType.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.GuidePivotPointsShapeSizeInPixelsNode); xmlWriter.WriteString(pivotPointsRenderSettings.PivotPointSizeInPixels.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.DrawPivotPointProjectionLinesNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.RenderProjectionLines.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointProjectionLineColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.ProjectionLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.DrawPivotPointConnectionLinesNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.RenderPivotPointConnectionLines.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointConnectionLineColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.PivotPointConnectionLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ActivePivotPointLookAndFeelNode); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointIsVisibleNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.ActivePivotPointRenderSettings.IsVisible.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointFillColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.ActivePivotPointRenderSettings.FillColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointBorderColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.ActivePivotPointRenderSettings.BorderLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointScaleNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.ActivePivotPointRenderSettings.Scale.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.InactivePivotPointLookAndFeelNode); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointIsVisibleNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.InactivePivotPointRenderSettings.IsVisible.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointFillColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.InactivePivotPointRenderSettings.FillColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointBorderColorNode); xmlWriter.WriteColorString(projectedPivotPointRenderSettings.InactivePivotPointRenderSettings.BorderLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PivotPointScaleNode); xmlWriter.WriteString(projectedPivotPointRenderSettings.InactivePivotPointRenderSettings.Scale.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(2); xmlWriter.WriteEndElement(); // Vertex snapping xmlWriter.WriteNewLine(2); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectVertexSnappingLookAndFeelNode); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectVertexSnappingDrawSrcVertexNode); xmlWriter.WriteString(vertexSnapRenderSettings.RenderSourceVertex.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectVertexSnappingSrcVertexFillColorNode); xmlWriter.WriteColorString(vertexSnapRenderSettings.SourceVertexFillColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectVertexSnappingSrcVertexBorderColorNode); xmlWriter.WriteColorString(vertexSnapRenderSettings.SourceVertexBorderColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.ObjectVertexSnappingSrcVertexPixelRadiusNode); xmlWriter.WriteString(vertexSnapRenderSettings.SourceVertexRadiusInPixels.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(2); xmlWriter.WriteEndElement(); // Decor paint xmlWriter.WriteNewLine(2); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.DecorPaintLookAndFeelNode); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.DecorPaintBrushCircleLookAndFeelNode); xmlWriter.WriteNewLine(4); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.DecorPaintBrushCircleBorderLineColorNode); xmlWriter.WriteColorString(ObjectPlacement.Get().DecorPaintObjectPlacement.BrushCircleRenderSettings.BorderLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(2); xmlWriter.WriteEndElement(); // Path ObjectPlacementPathRenderSettings pathRenderSettings = ObjectPlacement.Get().PathObjectPlacement.PathRenderSettings; xmlWriter.WriteNewLine(2); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PathLookAndFeelNode); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.PathBorderLineColorNode); xmlWriter.WriteColorString(pathRenderSettings.ManualConstructionRenderSettings.BoxBorderLineColor); xmlWriter.WriteEndElement(); SaveExtensionPlaneLookAndFeel(ObjectPlacement.Get().PathObjectPlacement.PathExtensionPlaneRenderSettings, xmlWriter, 3); xmlWriter.WriteNewLine(2); xmlWriter.WriteEndElement(); // Block ObjectPlacementBlockRenderSettings blockRenderSettings = ObjectPlacement.Get().BlockObjectPlacement.BlockRenderSettings; xmlWriter.WriteNewLine(2); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.BlockLookAndFeelNode); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.BlockBorderLineColorNode); xmlWriter.WriteColorString(blockRenderSettings.ManualConstructionRenderSettings.BoxBorderLineColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.BlockTextColorNode); xmlWriter.WriteColorString(blockRenderSettings.ManualConstructionRenderSettings.DimensionsLabelRenderSettings.TextColor); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.BlockFontSizeNode); xmlWriter.WriteString(blockRenderSettings.ManualConstructionRenderSettings.DimensionsLabelRenderSettings.FontSize.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(3); xmlWriter.WriteStartElement(Octave3DConfigXMLInfo.BlockBoldTextNode); xmlWriter.WriteString(blockRenderSettings.ManualConstructionRenderSettings.DimensionsLabelRenderSettings.Bold.ToString()); xmlWriter.WriteEndElement(); SaveExtensionPlaneLookAndFeel(ObjectPlacement.Get().BlockObjectPlacement.BlockExtensionPlaneRenderSettings, xmlWriter, 3); xmlWriter.WriteNewLine(2); xmlWriter.WriteEndElement(); xmlWriter.WriteNewLine(1); xmlWriter.WriteEndElement(); } }
public static PersistentObjectPlacementGuideData Get() { return(ObjectPlacement.Get().PersistentObjectPlacementGuideData); }
public override void Initialize() { base.Initialize(); if (Octave3DWorldBuilder.ActiveInstance == null) { return; } ObjectPlacementSettings.Get().ObjectIntersectionSettings.View.IsVisible = false; _objectPlacementLookAndFeelSettingsView.IsVisible = false; _objectPlacementLookAndFeelSettingsView.BlockObjectPlacementLookAndFeelSettingsView.ToggleVisibilityBeforeRender = true; _objectPlacementLookAndFeelSettingsView.BlockObjectPlacementLookAndFeelSettingsView.VisibilityToggleLabel = "Block"; _objectPlacementLookAndFeelSettingsView.BlockObjectPlacementLookAndFeelSettingsView.IndentContent = true; _objectPlacementLookAndFeelSettingsView.BlockObjectPlacementLookAndFeelSettingsView.IsVisible = false; _objectPlacementLookAndFeelSettingsView.PathObjectPlacementLookAndFeelSettingsView.ToggleVisibilityBeforeRender = true; _objectPlacementLookAndFeelSettingsView.PathObjectPlacementLookAndFeelSettingsView.VisibilityToggleLabel = "Path"; _objectPlacementLookAndFeelSettingsView.PathObjectPlacementLookAndFeelSettingsView.IndentContent = true; _objectPlacementLookAndFeelSettingsView.PathObjectPlacementLookAndFeelSettingsView.IsVisible = false; _objectPlacementLookAndFeelSettingsView.DecorPaintLookAndFeelSettingsView.ToggleVisibilityBeforeRender = true; _objectPlacementLookAndFeelSettingsView.DecorPaintLookAndFeelSettingsView.VisibilityToggleLabel = "Decor Paint"; _objectPlacementLookAndFeelSettingsView.DecorPaintLookAndFeelSettingsView.IndentContent = true; _objectPlacementLookAndFeelSettingsView.DecorPaintLookAndFeelSettingsView.IsVisible = false; ObjectGroupDatabaseView objectGroupDatabaseView = Octave3DWorldBuilder.ActiveInstance.PlacementObjectGroupDatabase.View; objectGroupDatabaseView.ToggleVisibilityBeforeRender = true; objectGroupDatabaseView.VisibilityToggleLabel = "Object Groups"; objectGroupDatabaseView.IsVisible = false; objectGroupDatabaseView.SurroundWithBox = true; ObjectPlacementGuideSettings objectPlacementGuideSettings = ObjectPlacementSettings.Get().ObjectPlacementGuideSettings; objectPlacementGuideSettings.KeyboardRotationSettings.XAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.KeyboardRotationSettings.XAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.KeyboardRotationSettings.YAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.KeyboardRotationSettings.YAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.KeyboardRotationSettings.ZAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.KeyboardRotationSettings.ZAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.KeyboardRotationSettings.CustomAxisRotationSettings.View.VisibilityToggleLabel = "Placement Surface Normal Settings"; objectPlacementGuideSettings.KeyboardRotationSettings.XAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.KeyboardRotationSettings.YAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.KeyboardRotationSettings.ZAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.KeyboardRotationSettings.CustomAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.MouseRotationSettings.XAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.MouseRotationSettings.XAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.MouseRotationSettings.YAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.MouseRotationSettings.YAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.MouseRotationSettings.ZAxisRotationSettings.View.VisibilityToggleLabel = objectPlacementGuideSettings.MouseRotationSettings.ZAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; objectPlacementGuideSettings.MouseRotationSettings.CustomAxisRotationSettings.View.VisibilityToggleLabel = "Placement Surface Normal Settings"; objectPlacementGuideSettings.MouseRotationSettings.XAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.MouseRotationSettings.YAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.MouseRotationSettings.ZAxisRotationSettings.View.IsVisible = false; objectPlacementGuideSettings.MouseRotationSettings.CustomAxisRotationSettings.View.IsVisible = false; ObjectPlacement.Get().MirrorView.IsVisible = false; InteractableMirrorSettings mirrorSettings = ObjectPlacement.Get().MirrorSettings; mirrorSettings.View.IsVisible = false; mirrorSettings.View.ToggleVisibilityBeforeRender = true; mirrorSettings.View.VisibilityToggleLabel = "More settings"; mirrorSettings.View.VisibilityToggleIndent = 1; mirrorSettings.View.IndentContent = true; mirrorSettings.KeyboardRotationSettings.XAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.KeyboardRotationSettings.XAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.KeyboardRotationSettings.YAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.KeyboardRotationSettings.YAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.KeyboardRotationSettings.ZAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.KeyboardRotationSettings.ZAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.KeyboardRotationSettings.CustomAxisRotationSettings.View.VisibilityToggleLabel = "Hover Surface Normal Settings"; mirrorSettings.KeyboardRotationSettings.XAxisRotationSettings.View.IsVisible = false; mirrorSettings.KeyboardRotationSettings.YAxisRotationSettings.View.IsVisible = false; mirrorSettings.KeyboardRotationSettings.ZAxisRotationSettings.View.IsVisible = false; mirrorSettings.KeyboardRotationSettings.CustomAxisRotationSettings.View.IsVisible = false; mirrorSettings.MouseRotationSettings.XAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.MouseRotationSettings.XAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.MouseRotationSettings.YAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.MouseRotationSettings.YAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.MouseRotationSettings.ZAxisRotationSettings.View.VisibilityToggleLabel = mirrorSettings.MouseRotationSettings.ZAxisRotationSettings.RotationAxis.ToString() + " Axis Settings"; mirrorSettings.MouseRotationSettings.CustomAxisRotationSettings.View.VisibilityToggleLabel = "Hover Surface Normal Settings"; mirrorSettings.MouseRotationSettings.XAxisRotationSettings.View.IsVisible = false; mirrorSettings.MouseRotationSettings.YAxisRotationSettings.View.IsVisible = false; mirrorSettings.MouseRotationSettings.ZAxisRotationSettings.View.IsVisible = false; mirrorSettings.MouseRotationSettings.CustomAxisRotationSettings.View.IsVisible = false; InteractableMirrorRenderSettingsView mirrorRenderSettingsView = ObjectPlacement.Get().MirrorRenderSettings.View; mirrorRenderSettingsView.VisibilityToggleLabel = "Look and feel"; mirrorRenderSettingsView.ToggleVisibilityBeforeRender = true; mirrorRenderSettingsView.IndentContent = true; mirrorRenderSettingsView.VisibilityToggleIndent = 1; mirrorRenderSettingsView.IsVisible = false; ObjectRotationRandomizationSettings placementGuideRotationRandomizationSettings = PointAndClickObjectPlacementSettings.Get().PlacementGuideRotationRandomizationSettings; ObjectRotationRandomizationSettingsView placementGuideRotationRandomizationSettingsView = placementGuideRotationRandomizationSettings.View; placementGuideRotationRandomizationSettingsView.VisibilityToggleIndent = 1; placementGuideRotationRandomizationSettingsView.VisibilityToggleLabel = "Rotation Randomization Settings"; placementGuideRotationRandomizationSettingsView.IsVisible = false; placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.CustomAxisRandomizationSettings.View.VisibilityToggleLabel = "Placement Surface Normal Settings"; placementGuideRotationRandomizationSettings = DecorPaintObjectPlacementSettings.Get().SingleDecorPaintModeSettings.PlacementGuideRotationRandomizationSettings; placementGuideRotationRandomizationSettingsView = placementGuideRotationRandomizationSettings.View; placementGuideRotationRandomizationSettingsView.VisibilityToggleIndent = 1; placementGuideRotationRandomizationSettingsView.VisibilityToggleLabel = "Rotation Randomization Settings"; placementGuideRotationRandomizationSettingsView.IsVisible = false; placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.XAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.YAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.View.VisibilityToggleLabel = placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.Axis + " Axis Settings"; placementGuideRotationRandomizationSettings.ZAxisRandomizationSettings.View.IsVisible = false; placementGuideRotationRandomizationSettings.CustomAxisRandomizationSettings.View.VisibilityToggleLabel = "Placement Surface Normal Settings"; ObjectScaleRandomizationSettings placementGuideScaleRandomizationSettings = PointAndClickObjectPlacementSettings.Get().PlacementGuideScaleRandomizationSettings; ObjectScaleRandomizationSettingsView guideScaleRandomizationSettingsView = placementGuideScaleRandomizationSettings.View; guideScaleRandomizationSettingsView.VisibilityToggleIndent = 1; guideScaleRandomizationSettingsView.VisibilityToggleLabel = "Scale Randomization Settings"; guideScaleRandomizationSettingsView.IsVisible = false; guideScaleRandomizationSettingsView.IndentContent = true; placementGuideScaleRandomizationSettings = DecorPaintObjectPlacementSettings.Get().SingleDecorPaintModeSettings.PlacementGuideScaleRandomizationSettings; guideScaleRandomizationSettingsView = placementGuideScaleRandomizationSettings.View; guideScaleRandomizationSettingsView.VisibilityToggleIndent = 1; guideScaleRandomizationSettingsView.VisibilityToggleLabel = "Scale Randomization Settings"; guideScaleRandomizationSettingsView.IsVisible = false; guideScaleRandomizationSettingsView.IndentContent = true; AxisAlignmentSettingsView placementGuideSurfaceAlignmentSettingsView = PointAndClickObjectPlacementSettings.Get().PlacementGuideSurfaceAlignmentSettings.View; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleIndent = 1; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleLabel = "Surface Alignment Settings"; placementGuideSurfaceAlignmentSettingsView = PathObjectPlacementSettings.Get().PlacementGuideSurfaceAlignmentSettings.View; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleIndent = 1; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleLabel = "Surface Alignment Settings"; placementGuideSurfaceAlignmentSettingsView = BlockObjectPlacementSettings.Get().PlacementGuideSurfaceAlignmentSettings.View; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleIndent = 1; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleLabel = "Surface Alignment Settings"; placementGuideSurfaceAlignmentSettingsView = DecorPaintObjectPlacementSettings.Get().SingleDecorPaintModeSettings.PlacementGuideSurfaceAlignmentSettings.View; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleIndent = 1; placementGuideSurfaceAlignmentSettingsView.VisibilityToggleLabel = "Surface Alignment Settings"; ObjectRotationRandomizationSettings blockObjectRotationRandomizationSettings = ObjectPlacement.Get().BlockObjectPlacement.BlockSettings.ManualConstructionSettings.ObjectRotationRandomizationSettings; ObjectRotationRandomizationSettingsView blockObjectRotationRandomizationSettingsView = blockObjectRotationRandomizationSettings.View; blockObjectRotationRandomizationSettings.CustomAxisRandomizationSettings.View.ToggleVisibilityBeforeRender = false; blockObjectRotationRandomizationSettings.CustomAxisRandomizationSettings.View.IsVisible = false; blockObjectRotationRandomizationSettings.CustomAxisRandomizationSettings.Randomize = false; blockObjectRotationRandomizationSettingsView.SurroundWithBox = false; blockObjectRotationRandomizationSettingsView.VisibilityToggleIndent = 1; blockObjectRotationRandomizationSettings.XAxisRandomizationSettings.View.VisibilityToggleLabel = blockObjectRotationRandomizationSettings.XAxisRandomizationSettings.Axis + " Axis Settings"; blockObjectRotationRandomizationSettings.YAxisRandomizationSettings.View.VisibilityToggleLabel = blockObjectRotationRandomizationSettings.YAxisRandomizationSettings.Axis + " Axis Settings"; blockObjectRotationRandomizationSettings.ZAxisRandomizationSettings.View.VisibilityToggleLabel = blockObjectRotationRandomizationSettings.ZAxisRandomizationSettings.Axis + " Axis Settings"; XZOrientedEllipseShapeRenderSettingsView xzOrientedElipseShapeRenderSettingsView = DecorPaintObjectPlacement.Get().BrushCircleRenderSettings.View; xzOrientedElipseShapeRenderSettingsView.ToggleVisibilityBeforeRender = true; xzOrientedElipseShapeRenderSettingsView.IndentContent = true; xzOrientedElipseShapeRenderSettingsView.VisibilityToggleLabel = "Brush Circle"; xzOrientedElipseShapeRenderSettingsView.IsVisible = false; ObjectPivotPointsRenderSettingsView guidePivotPointsSettingsView = ObjectPlacement.Get().GuidePivotPointsRenderSettings.View; guidePivotPointsSettingsView.ToggleVisibilityBeforeRender = true; guidePivotPointsSettingsView.IndentContent = true; guidePivotPointsSettingsView.VisibilityToggleLabel = "Guide Pivot Points"; guidePivotPointsSettingsView.IsVisible = false; ObjectPlacement.Get().ObjectVertexSnapSessionRenderSettings.View.IsVisible = false; ProjectedBoxFacePivotPointsRenderSettings projectedBoxFacePointsRenderSettings = ObjectPlacement.Get().GuidePivotPointsRenderSettings.ProjectedBoxFacePivotPointsRenderSettings; ProjectedBoxFacePivotPointsRenderSettingsView projectedBoxFacePointsRenderSettingsView = projectedBoxFacePointsRenderSettings.View; projectedBoxFacePointsRenderSettingsView.ToggleVisibilityBeforeRender = true; projectedBoxFacePointsRenderSettingsView.IndentContent = true; projectedBoxFacePointsRenderSettingsView.VisibilityToggleLabel = "Projected Guide Pivot Points"; projectedBoxFacePointsRenderSettingsView.IsVisible = false; SingleObjectPivotPointRenderSettingsView activePivotPointRenderSettingsView = projectedBoxFacePointsRenderSettings.ActivePivotPointRenderSettings.View; activePivotPointRenderSettingsView.ToggleVisibilityBeforeRender = true; activePivotPointRenderSettingsView.VisibilityToggleLabel = "Active Pivot Point"; activePivotPointRenderSettingsView.IndentContent = true; activePivotPointRenderSettingsView.VisibilityToggleIndent = 1; SingleObjectPivotPointRenderSettingsView inactivePivotPointRenderSettingsView = projectedBoxFacePointsRenderSettings.InactivePivotPointRenderSettings.View; inactivePivotPointRenderSettingsView.ToggleVisibilityBeforeRender = true; inactivePivotPointRenderSettingsView.VisibilityToggleLabel = "Inactive Pivot Point"; inactivePivotPointRenderSettingsView.IndentContent = true; inactivePivotPointRenderSettingsView.VisibilityToggleIndent = 1; ObjectMaskView objectMaskView = DecorPaintObjectPlacement.Get().DecorPaintMask.View; objectMaskView.SurroundWithBox = true; ObjectLayerObjectMaskView objectLayerObjectMaskView = DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectLayerObjectMask.View; objectLayerObjectMaskView.IsVisible = false; objectLayerObjectMaskView.ToggleVisibilityBeforeRender = true; objectLayerObjectMaskView.VisibilityToggleIndent = 1; objectLayerObjectMaskView.VisibilityToggleLabel = "Object Layer Decor Paint Mask"; ObjectCollectionMaskView objectCollectionMaskView = DecorPaintObjectPlacement.Get().DecorPaintMask.ObjectCollectionMask.View; objectCollectionMaskView.IsVisible = false; objectCollectionMaskView.ToggleVisibilityBeforeRender = true; objectCollectionMaskView.VisibilityToggleIndent = 1; objectCollectionMaskView.VisibilityToggleLabel = "Object Decor Paint Mask"; LabelRenderSettings labelRenderSettings = ObjectPlacement.Get().BlockObjectPlacement.BlockRenderSettings.ManualConstructionRenderSettings.DimensionsLabelRenderSettings; labelRenderSettings.Bold = true; labelRenderSettings.FontSize = 15; labelRenderSettings.TextColor = Color.white; LabelRenderSettingsView labelRenderSettingsView = labelRenderSettings.View; labelRenderSettingsView.ToggleVisibilityBeforeRender = true; labelRenderSettingsView.VisibilityToggleLabel = "Dimensions Label"; labelRenderSettingsView.IndentContent = true; }
public override void RenderHandles() { Handles.BeginGUI(); ObjectPlacement.Get().RenderHandles(); Handles.EndGUI(); }
public static ObjectPlacementSettings Get() { return(ObjectPlacement.Get().Settings); }
public override void RenderGizmos() { ObjectPlacement.Get().RenderGizmos(); }
public static DecorPaintObjectPlacement Get() { return(ObjectPlacement.Get().DecorPaintObjectPlacement); }
public static BlockObjectPlacement Get() { return(ObjectPlacement.Get().BlockObjectPlacement); }
public static PointAndClickObjectPlacement Get() { return(ObjectPlacement.Get().PointAndClickObjectPlacement); }