Skip to content

Commit

Permalink
Removed old code from the FineAdjust Update function which was causin…
Browse files Browse the repository at this point in the history
…g an exception

Reduced height of popup menu
Fixed bug where clicking on the symmetry sprite (the one which changes the angle snap degrees) when the angle was zero
would not allow surface attachments to anything other than the +z axis:
	"I can place the battery only on the +z axis of the structure.  I cannot place it on -z, +x, -x"
Removed performance issue when Fine Adjustments window was shown
Reduced performance impact when fine adjustments are being done
  • Loading branch information
linuxgurugamer committed May 15, 2016
1 parent 2e3470d commit 9b364db
Show file tree
Hide file tree
Showing 6 changed files with 168 additions and 125 deletions.
18 changes: 9 additions & 9 deletions EditorExtensionsRedux.userprefs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Properties StartupItem="Packagers\BetaPackage.mdproj">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Release" />
<MonoDevelop.Ide.Workbench ActiveDocument="EditorExtensionsRedux\EditorExtensionsRedux.version">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug Win" />
<MonoDevelop.Ide.Workbench ActiveDocument="EditorExtensionsRedux\EditorExtensionsRedux.cs">
<Files>
<File FileName="EditorExtensionsRedux\SelectRoot2Behaviour.cs" Line="91" Column="11" />
<File FileName="EditorExtensionsRedux\NoOffsetLimits\NoOffsetLimitsBehaviour.cs" Line="70" Column="15" />
<File FileName="EditorExtensionsRedux\NoOffsetLimits\NoOffsetLimitsBehaviour.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\AppLauncherButton.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Utility.cs" Line="80" Column="3" />
<File FileName="EditorExtensionsRedux\Utility.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\buildRelease.bat" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigManager.cs" Line="91" Column="24" />
<File FileName="EditorExtensionsRedux\Config\ConfigManager.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Logging.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\PartInfoWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.version" Line="1" Column="1" />
Expand All @@ -16,11 +16,11 @@
<File FileName="EditorExtensionsRedux\GUIWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\deploy.bat" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\StripSymmetry\ExtensionMethods.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\Config\ConfigData.cs" Line="77" Column="3" />
<File FileName="EditorExtensionsRedux\Config\ConfigData.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\SettingsWindow.cs" Line="1" Column="1" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.cs" Line="657" Column="14" />
<File FileName="EditorExtensionsRedux\FineAdjustWindow.cs" Line="43" Column="3" />
<File FileName="README.md" Line="17" Column="3" />
<File FileName="EditorExtensionsRedux\EditorExtensionsRedux.cs" Line="524" Column="1" />
<File FileName="EditorExtensionsRedux\FineAdjustWindow.cs" Line="7" Column="31" />
<File FileName="README.md" Line="11" Column="4" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>
Expand Down
167 changes: 93 additions & 74 deletions EditorExtensionsRedux/EditorExtensionsRedux.cs
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,8 @@ void InitConfig ()
}
}

EditorGizmos.GizmoOffsetHandle gizmoOffsetHandle = null;
EditorGizmos.GizmoRotateHandle gizmoRotateHandle = null;
//Unity update
void Update ()
{
Expand Down Expand Up @@ -523,14 +525,16 @@ void Update ()

if (_fineAdjustWindow.isEnabled ()) {
Vector3 axis;
if (HighLogic.FindObjectsOfType<EditorGizmos.GizmoOffset> ().Length > 0) {
var gizmosOffset = HighLogic.FindObjectsOfType<EditorGizmos.GizmoOffset> ();
if (gizmosOffset.Length > 0) {
gizmoRotateHandle = null;
if (EditorLogic.SelectedPart != null) {
var gizmosOffset = HighLogic.FindObjectsOfType<EditorGizmos.GizmoOffset> ();
var gizmoOffsetHandle = HighLogic.FindObjectOfType<EditorGizmos.GizmoOffsetHandle> ();
//var gizmosOffset = HighLogic.FindObjectsOfType<EditorGizmos.GizmoOffset> ();
if (gizmoOffsetHandle == null)
gizmoOffsetHandle = HighLogic.FindObjectOfType<EditorGizmos.GizmoOffsetHandle> ();

float offset = FineAdjustWindow.Instance.offset;


Log.Info ("\nmoving part: EditorLogic.SelectedPart.attPos: " + EditorLogic.SelectedPart.attPos);
Log.Info ("moving part: EditorLogic.SelectedPart.attPos0: " + EditorLogic.SelectedPart.attPos0);
/*
Expand All @@ -550,31 +554,31 @@ public class Config
*/

if (Input.GetKey(cfg.KeyMap.Down)) {
axis = Vector3.down;
if (Input.GetKey (cfg.KeyMap.Down)) {
axis = Vector3.down;
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVESTART, gizmoOffsetHandle, axis);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVE, gizmoOffsetHandle, axis, offset);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVEEND, gizmoOffsetHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Up)) {
if (Input.GetKey (cfg.KeyMap.Up)) {
axis = Vector3.up;
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVESTART, gizmoOffsetHandle, axis);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVE, gizmoOffsetHandle, axis, offset);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVEEND, gizmoOffsetHandle, axis, 0.0f);
}

if (Input.GetKey (cfg.KeyMap.Left)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.forward;
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.forward;
else
axis = Vector3.right;
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVESTART, gizmoOffsetHandle, axis);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVE, gizmoOffsetHandle, axis, offset);
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVEEND, gizmoOffsetHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Right)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.back;
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.back;
else
axis = Vector3.left;
Refl.Invoke (gizmosOffset [0], EditorExtensions.c.GIZMOOFFSET_ONHANDLEMOVESTART, gizmoOffsetHandle, axis);
Expand All @@ -584,7 +588,7 @@ public class Config
}

if (Input.GetKey (cfg.KeyMap.Forward)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.right;
else
axis = Vector3.back;
Expand All @@ -594,7 +598,7 @@ public class Config

}
if (Input.GetKey (cfg.KeyMap.Back)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.left;
else
axis = Vector3.forward;
Expand All @@ -605,68 +609,76 @@ public class Config

}
}
}


if (HighLogic.FindObjectsOfType<EditorGizmos.GizmoRotate> ().Length > 0) {
if (EditorLogic.SelectedPart != null) {
var gizmosRotate = HighLogic.FindObjectsOfType<EditorGizmos.GizmoRotate> ();
var gizmoRotateHandle = HighLogic.FindObjectOfType<EditorGizmos.GizmoRotateHandle> ();
float rotation = FineAdjustWindow.Instance.rotation;

if (Input.GetKey (cfg.KeyMap.Down)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.forward;
else
axis = Vector3.left;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Up)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.back;
else
axis = Vector3.right;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Left)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.right;
else
axis = Vector3.forward;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Right)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.left;
else
axis = Vector3.back;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

}
if (Input.GetKey (cfg.KeyMap.Forward)) {
else
gizmoOffsetHandle = null;
} else {
gizmoOffsetHandle = null;
var gizmosRotate = HighLogic.FindObjectsOfType<EditorGizmos.GizmoRotate> ();
if (gizmosRotate.Length > 0) {
if (EditorLogic.SelectedPart != null) {
//var gizmosRotate = HighLogic.FindObjectsOfType<EditorGizmos.GizmoRotate> ();
if (gizmoRotateHandle == null)
gizmoRotateHandle = HighLogic.FindObjectOfType<EditorGizmos.GizmoRotateHandle> ();
float rotation = FineAdjustWindow.Instance.rotation;

if (Input.GetKey (cfg.KeyMap.Down)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.forward;
else
axis = Vector3.left;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Up)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.back;
else
axis = Vector3.right;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Left)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.right;
else
axis = Vector3.forward;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);
}
if (Input.GetKey (cfg.KeyMap.Right)) {
if (EditorDriver.editorFacility == EditorFacility.VAB)
axis = Vector3.left;
else
axis = Vector3.back;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

}
if (Input.GetKey (cfg.KeyMap.Forward)) {

axis = Vector3.up;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

}
if (Input.GetKey (cfg.KeyMap.Back)) {
axis = Vector3.down;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

axis = Vector3.up;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

}
if (Input.GetKey (cfg.KeyMap.Back)) {
axis = Vector3.down;
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATESTART, gizmoRotateHandle, axis);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATE, gizmoRotateHandle, axis, rotation);
Refl.Invoke (gizmosRotate [0], EditorExtensions.c.GIZMOROTATE_ONHANDLEROTATEEND, gizmoRotateHandle, axis, 0.0f);

}
}
else
gizmoRotateHandle = null;
}
else
gizmoRotateHandle = null;
}
}

Expand Down Expand Up @@ -1081,7 +1093,7 @@ void AngleSnapCycle (bool modKeyDown, bool fineKeyDown)
editor.srfAttachAngleSnap = 0;
}

//at angle snap 0, turn off angle snap and show stock circle sprite
//at angle snap 0, turn off angle snap and show stock circle sprite
if (editor.srfAttachAngleSnap == 0) {
GameSettings.VAB_USE_ANGLE_SNAP = false;
} else {
Expand Down Expand Up @@ -1199,7 +1211,7 @@ public void SettingsWindowClosed ()
bool _showMenu = false;
Rect _menuRect = new Rect ();
const float _menuWidth = 100.0f;
const float _menuHeight = 105.0f;
const float _menuHeight = 100.0f;
const int _toolbarHeight = 42;
//37

Expand Down Expand Up @@ -1358,6 +1370,12 @@ void OSDMessage (string message)

void AdjustSnapLocations ()
{
if (editor.srfAttachAngleSnap == 0) {
GameSettings.VAB_USE_ANGLE_SNAP = false;
} else {
GameSettings.VAB_USE_ANGLE_SNAP = true;
}

//symmetry & angle sprite/label size and position
symmetryLabelStyle.fontSize = (int)Math.Round (FONTSIZE * GameSettings.UI_SCALE);
osdLabelStyle.fontSize = (int)Math.Round (22 * GameSettings.UI_SCALE);
Expand Down Expand Up @@ -1428,6 +1446,7 @@ private void ShowSnapLabels ()
} else if (editor.symmetryMethod == SymmetryMethod.Mirror) {
symmetryLabelValue = (editor.symmetryMode == 0) ? "M" : "MM";
}
// Log.Info ("ShowSnapLabels disabling sprites, GameSettings.VAB_USE_ANGLE_SNAP: " + GameSettings.VAB_USE_ANGLE_SNAP.ToString());

//always hide stock symmetry and mirror sprites
editor.symmetrySprite.gameObject.SetActive (false);
Expand Down
2 changes: 1 addition & 1 deletion EditorExtensionsRedux/EditorExtensionsRedux.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
<ConsolePause>false</ConsolePause>
<CustomCommands>
<CustomCommands>
<Command type="AfterBuild" command="deploy.bat" externalConsole="True" pauseExternalConsole="True" />
<Command type="AfterBuild" command="deploy.bat" externalConsole="True" />
</CustomCommands>
</CustomCommands>
</PropertyGroup>
Expand Down
Loading

0 comments on commit 9b364db

Please sign in to comment.