Make sure you can only select when the selection state is set

This commit is contained in:
Braedon 2022-01-30 14:04:15 -05:00
parent d361f45590
commit e1f933a030
4 changed files with 139 additions and 146 deletions

View file

@ -1,17 +1,18 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e60958662eed5413d86143a0a69b731e guid: e60958662eed5413d86143a0a69b731e
timeCreated: 1491979494
licenseType: Pro
PluginImporter: PluginImporter:
externalObjects: {}
serializedVersion: 2 serializedVersion: 2
iconMap: {} iconMap: {}
executionOrder: {} executionOrder: {}
defineConstraints: []
isPreloaded: 0 isPreloaded: 0
isOverridable: 0 isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData: platformData:
data: - first:
first: : Any
'': Any
second: second:
enabled: 0 enabled: 0
settings: settings:
@ -27,113 +28,97 @@ PluginImporter:
Exclude Win: 0 Exclude Win: 0
Exclude Win64: 0 Exclude Win64: 0
Exclude iOS: 1 Exclude iOS: 1
data: - first:
first: : Editor
'': Editor
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
OS: AnyOS OS: AnyOS
data: - first:
first:
Android: Android Android: Android
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: ARMv7 CPU: ARMv7
data: - first:
first:
Any: Any:
second: second:
enabled: 0 enabled: 0
settings: {} settings: {}
data: - first:
first:
Editor: Editor Editor: Editor
second: second:
enabled: 1 enabled: 1
settings: settings:
DefaultValueInitialized: true DefaultValueInitialized: true
data: - first:
first:
Facebook: Win Facebook: Win
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
data: - first:
first:
Facebook: Win64 Facebook: Win64
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
data: - first:
first:
Standalone: Linux Standalone: Linux
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: Linux64 Standalone: Linux64
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: LinuxUniversal Standalone: LinuxUniversal
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: OSXIntel Standalone: OSXIntel
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: OSXIntel64 Standalone: OSXIntel64
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: OSXUniversal Standalone: OSXUniversal
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: None CPU: None
data: - first:
first:
Standalone: Win Standalone: Win
second: second:
enabled: 1 enabled: 1
settings: settings:
CPU: AnyCPU CPU: AnyCPU
data: - first:
first:
Standalone: Win64 Standalone: Win64
second: second:
enabled: 1 enabled: 1
settings: settings:
CPU: AnyCPU CPU: AnyCPU
data: - first:
first:
Windows Store Apps: WindowsStoreApps Windows Store Apps: WindowsStoreApps
second: second:
enabled: 0 enabled: 0
settings: settings:
CPU: AnyCPU CPU: AnyCPU
data: - first:
first:
iPhone: iOS iPhone: iOS
second: second:
enabled: 0 enabled: 0

View file

@ -20,6 +20,8 @@ namespace RhythmHeavenMania.Editor
public bool selecting = false; public bool selecting = false;
private bool clickedInTimeline = false;
public static BoxSelection instance { get; private set; } public static BoxSelection instance { get; private set; }
private void Awake() private void Awake()
@ -46,7 +48,7 @@ namespace RhythmHeavenMania.Editor
return; return;
} }
if (Conductor.instance.NotStopped()) if (Conductor.instance.NotStopped() || !Timeline.instance.timelineState.selected)
{ {
startPosition = Vector2.zero; startPosition = Vector2.zero;
endPosition = Vector2.zero; endPosition = Vector2.zero;
@ -57,12 +59,14 @@ namespace RhythmHeavenMania.Editor
// click // click
if (Input.GetMouseButtonDown(0)) if (Input.GetMouseButtonDown(0))
{ {
clickedInTimeline = Timeline.instance.CheckIfMouseInTimeline();
startPosition = MousePosition(); startPosition = MousePosition();
selectionBox = new Rect(); selectionBox = new Rect();
} }
// dragging // dragging
if (Input.GetMouseButton(0)) if (Input.GetMouseButton(0) && clickedInTimeline)
{ {
endPosition = MousePosition(); endPosition = MousePosition();
DrawVisual(); DrawVisual();

View file

@ -134,6 +134,7 @@ namespace RhythmHeavenMania.Editor
} }
} }
if (Timeline.instance.timelineState.selected == true)
if (Input.GetMouseButtonUp(0) && Timeline.instance.CheckIfMouseInTimeline()) if (Input.GetMouseButtonUp(0) && Timeline.instance.CheckIfMouseInTimeline())
{ {
List<TimelineEventObj> selectedEvents = Timeline.instance.eventObjs.FindAll(c => c.selected == true && c.eligibleToMove == true); List<TimelineEventObj> selectedEvents = Timeline.instance.eventObjs.FindAll(c => c.selected == true && c.eligibleToMove == true);

View file

@ -66,7 +66,7 @@ namespace RhythmHeavenMania.Editor.Track
selected = Selections.instance.eventsSelected.Contains(this); selected = Selections.instance.eventsSelected.Contains(this);
entity = GameManager.instance.Beatmap.entities.Find(a => a.eventObj == this); entity = GameManager.instance.Beatmap.entities.Find(a => a.eventObj == this);
mouseHovering = RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Camera.main); mouseHovering = RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Camera.main) && Timeline.instance.timelineState.selected;
#region Optimizations #region Optimizations
@ -117,7 +117,7 @@ namespace RhythmHeavenMania.Editor.Track
if (!resizing) if (!resizing)
{ {
if (Input.GetMouseButtonUp(0) && Timeline.instance.CheckIfMouseInTimeline()) if (Input.GetMouseButtonUp(0) && Timeline.instance.CheckIfMouseInTimeline() && Timeline.instance.timelineState.selected)
{ {
if (Timeline.instance.eventObjs.FindAll(c => c.mouseHovering).Count == 0 && Timeline.instance.eventObjs.FindAll(c => c.moving).Count == 0 && !BoxSelection.instance.selecting && Timeline.instance.eventObjs.FindAll(c => c.resizing).Count == 0) if (Timeline.instance.eventObjs.FindAll(c => c.mouseHovering).Count == 0 && Timeline.instance.eventObjs.FindAll(c => c.moving).Count == 0 && !BoxSelection.instance.selecting && Timeline.instance.eventObjs.FindAll(c => c.resizing).Count == 0)
{ {
@ -197,6 +197,8 @@ namespace RhythmHeavenMania.Editor.Track
#region ClickEvents #region ClickEvents
public void OnClick() public void OnClick()
{
if (Input.GetMouseButton(0) && Timeline.instance.timelineState.selected)
{ {
if (Input.GetKey(KeyCode.LeftShift)) if (Input.GetKey(KeyCode.LeftShift))
{ {
@ -210,10 +212,11 @@ namespace RhythmHeavenMania.Editor.Track
} }
} }
} }
}
public void OnDown() public void OnDown()
{ {
if (selected) if (selected && Timeline.instance.timelineState.selected)
{ {
lastPos_ = transform.localPosition; lastPos_ = transform.localPosition;
@ -235,7 +238,7 @@ namespace RhythmHeavenMania.Editor.Track
// lastPos_ = this.lastPos_; // lastPos_ = this.lastPos_;
// previousPos = this.transform.localPosition; // previousPos = this.transform.localPosition;
if (selected) if (selected && Timeline.instance.timelineState.selected)
{ {
if (eligibleToMove) if (eligibleToMove)
{ {