private void SelectionChanged(WaypointArrow oldSelection, WaypointArrow newSelection) { if (!newSelection && oldSelection) { // if (!_goMode) // { oldSelection.DClearDestination(); oldSelection.EReleaseDestination -= DReleaseDestination; HexEditor.ClearRange(); _waypointArrow = null; _currentPick = Vector3.back; _lastPick = Vector3.back; // Debug.Log("Deselect any object"); // } } else if (oldSelection && newSelection) { // if (!_goMode) // { oldSelection.DClearDestination(); // newSelection.DClearDestination(); oldSelection.EReleaseDestination -= DReleaseDestination; // newSelection.EReleaseDestination -= DReleaseDestination; HexEditor.ClearRange(); _waypointArrow = newSelection; _currentPick = Vector3.back; _lastPick = Vector3.back; newSelection.EReleaseDestination += DReleaseDestination; // Debug.Log("Selection shifts"); // } } else if (!oldSelection && newSelection) { _waypointArrow = newSelection; newSelection.EReleaseDestination += DReleaseDestination; // Debug.Log("A brand new selection " + _wasSelectedThisFrame + " " + Time.time); } /*if (oldSelection) * { * oldSelection.DClearDestination(); * oldSelection.ClearMovementQueue(); * }*/ }