public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Attentive Nodes", FieldController, true, false, CNFieldWindow.Type.extended); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); DrawTimer(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable); EditorGUILayout.Space(); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 100f; EditorGUI.BeginDisabledGroup(!isEditable); EditorGUI.BeginChangeCheck(); selectedScopeIdx_ = EditorGUILayout.Popup(efScopeCt_, selectedScopeIdx_, arrScopeTypeCt_); if (EditorGUI.EndChangeCheck()) { ChangeScope((CNGroup.CARONTEFX_SCOPE)selectedScopeIdx_); } EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button(efSelectScopeCt_, GUILayout.Height(30f))) { SceneSelection(); } EditorGUIUtility.labelWidth = originalLabelwidth; CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); DrawEffectGUIWindow(isEditable); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUILayout.Space(); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawTimer(); EditorGUILayout.Space(); DrawGravity(); EditorGUIUtility.wideMode = currentMode; EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); GUILayout.EndArea(); }
//----------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.normal); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = label_width; scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawCorpusclesRadius(); EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); EditorGUIUtility.labelWidth = originalLabelWidth; GUILayout.EndArea(); }
//----------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable); EditorGUI.BeginDisabledGroup(!isEditable); { RenderFieldObjects("ObjectsA", FieldControllerA, true, true, CNFieldWindow.Type.extended); RenderFieldObjects("ObjectsB", FieldControllerB, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button(Data.NeedsUpdate ? "Create/Recreate(*)" : "Create/Recreate", GUILayout.Height(30f))) { RecreateEntities(); } } EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawTargetExternalLocal(); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); RenderCreationParams(); if (EditorGUI.EndChangeCheck() && eManager.IsServosCreated(Data)) { DestroyEntities(); } CarGUIUtils.Splitter(); EditorGUILayout.Space(); RenderEditParams(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUIUtility.wideMode = currentMode; EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, false, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.normal); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Weld", GUILayout.Height(30f))) { Weld(); } if (GUILayout.Button("Save asset...", GUILayout.Height(30f), GUILayout.Width(100f))) { SaveWeldResult(); } EditorGUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; CarGUIUtils.Splitter(); GUIStyle centerLabel = new GUIStyle(EditorStyles.largeLabel); centerLabel.alignment = TextAnchor.MiddleCenter; centerLabel.fontStyle = FontStyle.Bold; EditorGUILayout.LabelField("Output", centerLabel); EditorGUI.BeginDisabledGroup(Data.WeldGameObject == null); EditorGUILayout.Space(); DrawOutputButton(); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
//----------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); EditorGUILayout.Space(); Data.SimulationScript = (CarSimulationScript)EditorGUILayout.ObjectField("Script asset instance", Data.SimulationScript, typeof(CarSimulationScript), true); if (Data.SimulationScript == null) { EditorGUILayout.Space(); selectedTypeIdx_ = EditorGUILayout.Popup("Script asset type", selectedTypeIdx_, simulationScriptNames_); if (GUILayout.Button("Create new script asset")) { var asset = ScriptableObject.CreateInstance(simulationScriptTypes_[selectedTypeIdx_]); string path = EditorUtility.SaveFilePanelInProject("CaronteFX - Script Instance", simulationScriptNames_[selectedTypeIdx_], "asset", ""); if (path != string.Empty) { AssetDatabase.CreateAsset(asset, path); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Data.SimulationScript = asset; EditorUtility.SetDirty(Data); } } } CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); RefreshSimulationScript(); if (simulationScriptEditor_ != null && simulationScript_ != null) { simulationScriptEditor_.OnInspectorGUI(); } EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, false, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.normal); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Create Balltrees", GUILayout.Height(30f))) { CreateBalltrees(); } EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; DrawCreationMode(); EditorGUILayout.Space(); DrawNumberOfSpheres(); DrawArrangementQuality(); EditorGUILayout.Space(); DrawBalltreeHoleCovering(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
//---------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Scope", FieldController, true, true, CNFieldWindow.Type.normal); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); GUILayout.EndArea(); }
//---------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); Data.Timer = EditorGUILayout.FloatField("Timer (s)", Data.Timer); Data.TimeDuration = EditorGUILayout.FloatField("Duration (s)", Data.TimeDuration); EditorGUILayout.Space(); Data.Multiplier_r = EditorGUILayout.FloatField("Position multiplier", Data.Multiplier_r); Data.Multiplier_q = EditorGUILayout.FloatField("Rotation multiplier", Data.Multiplier_q); EditorGUILayout.Space(); EditorGUILayout.Space(); RenderFieldObjects("Target objects", FieldControllerAimGameObjects, true, false, CNFieldWindow.Type.normal); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, false, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.normal); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Select", GUILayout.Height(30f))) { ClassifySelection(); } EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; DrawSelectorGO(); DrawSelectionMode(); DrawComplementarySelection(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
//---------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawTimer(); EditorGUILayout.Space(); DrawSpeedRate(); DrawReleaseThreshold(); EditorGUILayout.Space(); EditorGUILayout.Space(); RenderFieldObjects("Target objects", FieldControllerAimGameObjects, true, false, CNFieldWindow.Type.normal); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUILayout.Space(); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawTimer(); EditorGUILayout.Space(); DrawIsRepulsorVsAttractor(); EditorGUILayout.Space(); DrawIsForceVsAcceleration(); DrawMagnitude(); DrawRadius(); DrawDecay(); EditorGUILayout.Space(); DrawAttractorGameObject(); EditorGUIUtility.wideMode = currentMode; EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); GUILayout.EndArea(); }
//---------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); RenderFieldObjects("Locators", FieldControllerLocators, true, true, CNFieldWindow.Type.normal); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUILayout.Space(); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawTimer(); EditorGUILayout.Space(); DrawForce(); DrawSpeedLimit(); EditorGUILayout.Space(); DrawForceDeltaMax(); DrawAngleDeltaMax(); EditorGUILayout.Space(); DrawPeriodTime(); DrawPeriodSpace(); EditorGUIUtility.wideMode = currentMode; EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); GUILayout.EndArea(); }
//----------------------------------------------------------------------------------- protected override void RenderFieldsBody(bool isEditable) { EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 180f; EditorGUI.BeginDisabledGroup(!isEditable); { DrawDoCollide(); DrawDoAutocollide(); EditorGUILayout.Space(); DrawGUIMassOptions(); DrawIsShell(); GUILayout.Space(simple_space); DrawResolution(); GUILayout.Space(simple_space); DrawLengthStiffness(); DrawVolumeStiffness(); GUILayout.Space(simple_space); DrawDampingPerSecondCM(); GUILayout.Space(simple_space); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); DrawPlasticityFoldout(); EditorGUI.BeginDisabledGroup(!isEditable); { DrawPlasticity(); EditorGUILayout.EndHorizontal(); if (Data.PlasticityFoldout) { EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!Data.Plasticity); DrawThreshold(); DrawAcquired(); DrawCompressionLimit(); DrawExpansionLimit(); EditorGUI.EndDisabledGroup(); } } EditorGUI.EndDisabledGroup(); CarGUIUtils.Splitter(); GUILayout.Space(simple_space); DrawRestitution(); DrawFrictionKinetic(); GUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(Data.FromKinetic); DrawFrictionStatic(); EditorGUI.EndDisabledGroup(); DrawFrictionStaticFromKinetic(); GUILayout.EndHorizontal(); GUILayout.Space(simple_space); DrawDampingPerSecondWorld(); GUILayout.Space(simple_space); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawLinearVelocity(); DrawAngularVelocity(); EditorGUIUtility.wideMode = currentMode; } EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!isEditable); { DrawExplosionOpacity(); DrawExplosionResponsiveness(); } EditorGUI.EndDisabledGroup(); EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUILayout.Space(); EditorGUILayout.EndScrollView(); }
void OnGUI() { Rect nodesArea = new Rect(5, 5, width - 10, Mathf.CeilToInt((height - 10f) / 3)); Rect nodesAreaBox = new Rect(nodesArea.xMin, nodesArea.yMin, nodesArea.width + 1, nodesArea.height + 1); GUI.Box(nodesAreaBox, ""); GUILayout.BeginArea(nodesArea); GUILayout.BeginHorizontal(); GUIStyle styleTitle = new GUIStyle(GUI.skin.label); styleTitle.fontStyle = FontStyle.Bold; GUILayout.Label("Nodes to bake:", styleTitle); GUILayout.EndHorizontal(); CarGUIUtils.DrawSeparator(); GUILayout.BeginHorizontal(); int bodyNodeCount = listBodyNode_.Count; EditorGUILayout.BeginHorizontal(); DrawToggleMixed(bodyNodeCount); Rect rect = GUILayoutUtility.GetLastRect(); GUILayout.Space(40f); EditorGUILayout.LabelField("Collapse/Skin"); EditorGUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); Rect boxRect = new Rect(nodesAreaBox.xMin - 5, rect.yMax, nodesAreaBox.width - 90f, nodesAreaBox.yMax - rect.yMax); Rect collapseRect = new Rect(boxRect.xMax, boxRect.yMin, 90f, boxRect.height); GUI.Box(boxRect, ""); GUI.Box(collapseRect, ""); scroller_ = GUILayout.BeginScrollView(scroller_); for (int i = 0; i < bodyNodeCount; i++) { GUILayout.BeginHorizontal(); CNBody bodyNode = listBodyNode_[i]; string name = bodyNode.Name; bitArrNeedsBaking_[i] = EditorGUILayout.ToggleLeft(name, bitArrNeedsBaking_[i], GUILayout.Width(250f)); GUILayout.Space(35f); bool isRigid = bodyNode is CNRigidbody; bool isAnimated = bodyNode is CNAnimatedbody; if (isRigid && !isAnimated) { bitArrNeedsCollapsing_[i] = EditorGUILayout.Toggle(bitArrNeedsCollapsing_[i]); } GUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); GUILayout.EndArea(); GUILayout.FlexibleSpace(); EditorGUILayout.Space(); EditorGUILayout.Space(); float start = EditorGUILayout.IntField("Frame Start : ", StartFrame); float end = EditorGUILayout.IntField("Frame End : ", EndFrame); EditorGUILayout.MinMaxSlider(new GUIContent("Frames:"), ref start, ref end, 0, MaxFrames); SetStartEndFrames((int)start, (int)end); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.animationFileType_ = (CarAnimationBaker.AnimationFileType)EditorGUILayout.EnumPopup("File type", simulationBaker_.animationFileType_); GUILayout.EndHorizontal(); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.skinRopes_ = EditorGUILayout.Toggle("Skin ropes", simulationBaker_.skinRopes_); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); simulationBaker_.skinClothes_ = EditorGUILayout.Toggle("Skin clothes", simulationBaker_.skinClothes_); GUILayout.EndHorizontal(); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.vertexCompression_ = EditorGUILayout.Toggle("Vertex compression", simulationBaker_.vertexCompression_); GUILayout.EndHorizontal(); EditorGUI.BeginDisabledGroup(!simulationBaker_.vertexCompression_); simulationBaker_.vertexCompressionIdx_ = EditorGUILayout.Popup("Compression mode", simulationBaker_.vertexCompressionIdx_, arrVertexCompressionModes_); EditorGUI.EndDisabledGroup(); bool isFiberCompression = simulationBaker_.vertexCompression_ && simulationBaker_.vertexCompressionIdx_ == 1; EditorGUI.BeginDisabledGroup(isFiberCompression); GUILayout.BeginHorizontal(); simulationBaker_.vertexTangents_ = EditorGUILayout.Toggle("Save tangents", simulationBaker_.vertexTangents_); GUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); GUILayout.BeginHorizontal(); simulationBaker_.alignData_ = EditorGUILayout.Toggle("Align data", simulationBaker_.alignData_); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); simulationBaker_.bakeEvents_ = EditorGUILayout.Toggle("Save events", simulationBaker_.bakeEvents_); GUILayout.EndHorizontal(); //simulationBaker_.bakeVisibility_ = EditorGUILayout.Toggle("Save visibility", simulationBaker_.bakeVisibility_); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.animationName_ = EditorGUILayout.TextField("Animation name", simulationBaker_.animationName_); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); simulationBaker_.bakeObjectName_ = EditorGUILayout.TextField("Root gameobject name", simulationBaker_.bakeObjectName_); GUILayout.EndHorizontal(); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.optionalRootTransform_ = (Transform)EditorGUILayout.ObjectField("Optional root transform", simulationBaker_.optionalRootTransform_, typeof(Transform), true); GUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Bake!", GUILayout.Height(20f))) { if (simulationBaker_.FrameEnd <= simulationBaker_.FrameStart) { EditorUtility.DisplayDialog("CaronteFX - Invalid frames", "Frame End must be above Frame Start", "Ok"); return; } EditorApplication.delayCall += () => { simulationBaker_.BakeSimulationAsAnim(); Close(); }; } GUILayout.BeginHorizontal(); GUILayout.EndHorizontal(); GUILayout.Space(5f); }
//----------------------------------------------------------------------------------- protected override void RenderFieldsBody(bool isEditable) { EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 180f; EditorGUI.BeginDisabledGroup(!isEditable); { DrawDoCollide(); DrawDoAutocollide(); DrawDisableCollisionsAtJoints(); EditorGUILayout.Space(); DrawGUIMassOptions(); GUILayout.Space(simple_space); DrawCollisionRadius(); DrawSafeModeIntegration(); if (CarVersionChecker.IsPremiumVersion()) { DrawClothGrouping(); } GUILayout.Space(simple_space); DrawBendStiffness(); DrawStretchStiffness(); GUILayout.Space(simple_space); DrawDampingBend(); DrawDampingStretch(); GUILayout.Space(simple_space); CarGUIUtils.Splitter(); GUILayout.Space(simple_space); DrawRestitution(); DrawFrictionKinetic(); GUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(Data.FromKinetic); DrawFrictionStatic(); EditorGUI.EndDisabledGroup(); DrawFrictionStaticFromKinetic(); GUILayout.EndHorizontal(); GUILayout.Space(simple_space); DrawDampingPerSecondWorld(); GUILayout.Space(simple_space); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawLinearVelocity(); DrawAngularVelocity(); CarGUIUtils.Splitter(); GUILayout.Space(simple_space); DrawExplosionOpacity(); DrawExplosionResponsiveness(); EditorGUIUtility.wideMode = currentMode; } EditorGUI.EndDisabledGroup(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUILayout.Space(); EditorGUILayout.EndScrollView(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, false, false); EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Create helper mesh", GUILayout.Height(30f))) { CreateHelperMesh(); } if (GUILayout.Button("Save asset...", GUILayout.Height(30f), GUILayout.Width(100f))) { SaveAssets(); } EditorGUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUILayout.Space(); EditorGUILayout.Space(); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; DrawRandomSeed(); DrawResolution(); DrawNBumps(); DrawRadiusMin(); DrawRadiusMax(); CarGUIUtils.Splitter(); GUIStyle centerLabel = new GUIStyle(EditorStyles.largeLabel); centerLabel.alignment = TextAnchor.MiddleCenter; centerLabel.fontStyle = FontStyle.Bold; EditorGUILayout.LabelField("Output", centerLabel); EditorGUI.BeginDisabledGroup(Data.HelperGO == null); EditorGUILayout.Space(); DrawOutputButton(); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
//---------------------------------------------------------------------------------- protected override void RenderFieldsBody(bool isEditable) { EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = label_width; scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.Space(); DrawDoCollide(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawAnimationTypeEnum(); EditorGUILayout.Space(); if (Data.AnimationType == CNAnimatedbody.EAnimationType.Animator) { DrawAnimationClip(); } EditorGUILayout.Space(); EditorGUILayout.Space(); DrawTimeStart(); GUILayout.BeginHorizontal(); DrawTimeLength(); DrawTimeLengthReset(); GUILayout.EndHorizontal(); EditorGUILayout.Space(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawRestitution(); DrawFrictionKinetic(); GUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(Data.FromKinetic); DrawFrictionStatic(); EditorGUI.EndDisabledGroup(); DrawFrictionStaticFromKinetic(); GUILayout.EndHorizontal(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); DrawExplosionOpacity(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); }
//----------------------------------------------------------------------------------- protected override void RenderFieldsBody(bool isEditable) { EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = label_width; scroller_ = EditorGUILayout.BeginScrollView(scroller_); EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.Space(); DrawDoCollide(); EditorGUILayout.Space(); if (Data.IsFiniteMass) { DrawGUIMassOptions(); DrawIsShell(); } GUILayout.Space(simple_space); DrawRestitution(); DrawFrictionKinetic(); GUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(Data.FromKinetic); DrawFrictionStatic(); EditorGUI.EndDisabledGroup(); DrawFrictionStaticFromKinetic(); GUILayout.EndHorizontal(); GUILayout.Space(simple_space); if (Data.IsFiniteMass) { DrawDampingPerSecondWorld(); } GUILayout.Space(simple_space); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; DrawLinearVelocity(); DrawAngularVelocity(); EditorGUILayout.Space(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); DrawExplosionOpacity(); if (Data.IsFiniteMass) { DrawExplosionResponsiveness(); } CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUIUtility.wideMode = currentMode; EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); }
void OnGUI() { Rect nodesArea = new Rect(5, 5, width - 10, ((height - 10) * 0.70f)); Rect nodesAreaBox = new Rect(nodesArea.xMin, nodesArea.yMin, nodesArea.width + 1, nodesArea.height + 1); GUI.Box(nodesAreaBox, ""); GUILayout.BeginArea(nodesArea); GUILayout.BeginHorizontal(); GUIStyle styleTitle = new GUIStyle(GUI.skin.label); styleTitle.fontStyle = FontStyle.Bold; GUILayout.Label("Nodes to bake:", styleTitle); GUILayout.EndHorizontal(); CarGUIUtils.DrawSeparator(); GUILayout.BeginHorizontal(); int bodyNodeCount = listBodyNode_.Count; EditorGUILayout.BeginHorizontal(); DrawToggleMixed(bodyNodeCount); Rect rect = GUILayoutUtility.GetLastRect(); GUILayout.Space(65f); EditorGUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); Rect boxRect = new Rect(nodesAreaBox.xMin - 5f, rect.yMax, nodesAreaBox.width, (nodesAreaBox.yMax - rect.yMax) + 1f); GUI.Box(boxRect, ""); scroller_ = GUILayout.BeginScrollView(scroller_); for (int i = 0; i < bodyNodeCount; i++) { CNBody bodyNode = listBodyNode_[i]; string name = bodyNode.Name; bitArrNeedsBaking_[i] = EditorGUILayout.ToggleLeft(name, bitArrNeedsBaking_[i], GUILayout.Width(250f)); } EditorGUILayout.EndScrollView(); GUILayout.EndArea(); GUILayout.FlexibleSpace(); Rect optionsArea = new Rect(5f, nodesArea.yMax + 15f, width - 10f, ((height - 10f) * 0.30f)); GUILayout.BeginArea(optionsArea); EditorGUILayout.Space(); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); simulationBaker_.combineMeshesInFrame_ = EditorGUILayout.Toggle("Combine meshes", simulationBaker_.combineMeshesInFrame_); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); simulationBaker_.bakeObjectName_ = EditorGUILayout.TextField("Bake object name", simulationBaker_.bakeObjectName_); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); simulationBaker_.bakeObjectPrefix_ = EditorGUILayout.TextField("Bake object prefix", simulationBaker_.bakeObjectPrefix_); GUILayout.EndHorizontal(); EditorGUI.BeginDisabledGroup(simulationBaker_.combineMeshesInFrame_); GUILayout.BeginHorizontal(); simulationBaker_.preserveCFXInFrameBake_ = EditorGUILayout.Toggle("Keep body components", simulationBaker_.preserveCFXInFrameBake_); GUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Bake!")) { EditorApplication.delayCall += () => { simulationBaker_.BakeCurrentFrame(); Close(); }; } GUILayout.EndArea(); }
//----------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, true, true); EditorGUI.BeginDisabledGroup(!isEditable); { RenderFieldObjects(jgObjectsAFieldCt_, FieldControllerA, true, true, CNFieldWindow.Type.extended); RenderFieldObjects(jgObjectsBFieldCt_, FieldControllerB, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button(Data.NeedsUpdate ? CarStringManager.GetString("CreateRecreate*") : CarStringManager.GetString("CreateRecreate"), GUILayout.Height(30f))) { RecreateEntities(); } } EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); float originalLabelwidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 200f; EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!isEditable); { EditorGUI.BeginChangeCheck(); { RenderCreationParams(); } if (EditorGUI.EndChangeCheck() && eManager.IsMultiJointCreated(Data)) { DestroyEntities(); } EditorGUILayout.Space(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); //FORCES EditorGUI.BeginChangeCheck(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(MaximumForce); DrawForceMax(); EditorGUI.EndDisabledGroup(); DrawMaximumForce(); EditorGUILayout.EndHorizontal(); EditorGUI.BeginDisabledGroup(MaximumForce); DrawForceMaxRand(); DrawForceRange(); DrawForceProfile(); EditorGUI.EndDisabledGroup(); } EditorGUI.EndDisabledGroup(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); //BREAK EditorGUILayout.BeginHorizontal(); Data.BreakFoldout = EditorGUILayout.Foldout(Data.BreakFoldout, "Break if distance exceeded"); EditorGUI.BeginDisabledGroup(!isEditable); { GUILayout.Space(145f); DrawBreakIfDistanceExceeded(); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); { if (Data.BreakFoldout) { EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!Data.BreakIfDistExcedeed); DrawDistanceForBreak(); DrawDistanceForBreakRand(); EditorGUI.EndDisabledGroup(); DrawEnableCollisionIfBreak(); } } } EditorGUI.EndDisabledGroup(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); //PLASTICITY EditorGUILayout.BeginHorizontal(); Data.PlasticityFoldout = EditorGUILayout.Foldout(Data.PlasticityFoldout, "Plasticity"); EditorGUI.BeginDisabledGroup(!isEditable); { GUILayout.Space(145f); DrawPlasticity(); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); if (Data.PlasticityFoldout) { EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!Data.Plasticity); DrawDistanceForPlasticity(); DrawDistanceForPlasticityRand(); DrawPlasticityRateAcquired(); EditorGUI.EndDisabledGroup(); } } EditorGUI.EndDisabledGroup(); CarGUIUtils.Splitter(); EditorGUIUtility.labelWidth = originalLabelwidth; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } // RenderGUI
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Objects", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUI.EndDisabledGroup(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!isEditable); List <ParameterModifierCommand> listPmCommand = Data.ListPmCommand; EditorGUILayout.Space(); DrawTimer(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField("Object parameters to modify: "); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); GUILayout.Space(10f); ParameterModifierCommand pmCommandToRemove = null; ParameterModifierCommand pmCommandToAdd = null; int addPosition = 0; int nPmCommand = listPmCommand.Count; for (int i = 0; i < nPmCommand; i++) { ParameterModifierCommand pmCommand = listPmCommand[i]; DrawPmCommand(i, pmCommand, ref pmCommandToRemove, ref pmCommandToAdd, ref addPosition); } if (pmCommandToRemove != null && listPmCommand.Count > 1) { Undo.RecordObject(Data, "Remove parameter - " + Data.Name); listPmCommand.Remove(pmCommandToRemove); pmCommandToRemove = null; EditorUtility.SetDirty(Data); } if (pmCommandToAdd != null) { Undo.RecordObject(Data, "Add parameter - " + Data.Name); listPmCommand.Insert(addPosition, pmCommandToAdd); pmCommandToAdd = null; EditorUtility.SetDirty(Data); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, true, true); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUI.EndDisabledGroup(); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; EditorGUI.BeginDisabledGroup(!isEditable); EditorGUILayout.Space(); EditorGUILayout.Space(); DrawTimer(); EditorGUILayout.Space(); EditorGUI.BeginChangeCheck(); DrawExplosionTransform(); EditorGUILayout.Space(); DrawResolution(); DrawWavefronteSpeed(); DrawRange(); DrawDecay(); DrawMomentum(); EditorGUILayout.Space(); DrawObjectsLimitSpeed(); EditorGUILayout.Space(); DrawAsymmetry(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(!Data.Asymmetry); DrawAsymmetryRandomSeed(); DrawAsymmetryBumpNumber(); DrawAsymmetryAdditionalSpeedRatio(); EditorGUI.EndDisabledGroup(); if (EditorGUI.EndChangeCheck()) { ApplyEntity(); EditorUtility.SetDirty(Data); } EditorGUI.EndDisabledGroup(); EditorGUIUtility.wideMode = currentMode; EditorGUILayout.Space(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }
//---------------------------------------------------------------------------------- public override void RenderGUI(Rect area, bool isEditable) { GUILayout.BeginArea(area); RenderTitle(isEditable, true, false); EditorGUI.BeginDisabledGroup(!isEditable); RenderFieldObjects("Bodies", FieldController, true, true, CNFieldWindow.Type.extended); EditorGUILayout.Space(); EditorGUILayout.Space(); CarGUIUtils.DrawSeparator(); CarGUIUtils.Splitter(); scroller_ = EditorGUILayout.BeginScrollView(scroller_); bool currentMode = EditorGUIUtility.wideMode; EditorGUIUtility.wideMode = true; float originalLabelWidth = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 180f; EditorGUILayout.Space(); EditorGUILayout.Space(); DrawTimer(); EditorGUILayout.Space(); DrawFluidDensity(); EditorGUILayout.Space(); DrawVelocity(); EditorGUILayout.Space(); DrawSpeedDeltaMax(); DrawAngleDeltaMax(); EditorGUILayout.Space(); CarGUIUtils.Splitter(); EditorGUILayout.Space(); Data.NoiseFoldout = EditorGUILayout.Foldout(Data.NoiseFoldout, "Noise"); if (Data.NoiseFoldout) { GUILayout.Space(10f); DrawPeriodTime(); DrawPeriodSpace(); } CarGUIUtils.Splitter(); EditorGUILayout.Space(); Data.HfFoldout = EditorGUILayout.Foldout(Data.HfFoldout, "High frequency"); if (Data.HfFoldout) { GUILayout.Space(10f); DrawHighFrequencyAM(); DrawHighFrequencySP(); } CarGUIUtils.Splitter(); EditorGUIUtility.labelWidth = originalLabelWidth; EditorGUIUtility.wideMode = currentMode; EditorGUILayout.EndScrollView(); GUILayout.EndArea(); }