mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-13 00:37:37 +02:00
bare bones selection system
This commit is contained in:
67
Assets/Scripts/LevelEditor/Selections.cs
Normal file
67
Assets/Scripts/LevelEditor/Selections.cs
Normal file
@ -0,0 +1,67 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
public class Selections : MonoBehaviour
|
||||
{
|
||||
public List<TimelineEventObj> eventsSelected = new List<TimelineEventObj>();
|
||||
|
||||
public static Selections instance { get; private set; }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
instance = this;
|
||||
}
|
||||
|
||||
public void ClickSelect(TimelineEventObj eventToAdd)
|
||||
{
|
||||
DeselectAll();
|
||||
eventsSelected.Add(eventToAdd);
|
||||
eventToAdd.Select();
|
||||
}
|
||||
|
||||
public void ShiftClickSelect(TimelineEventObj eventToAdd)
|
||||
{
|
||||
if (!eventsSelected.Contains(eventToAdd))
|
||||
{
|
||||
eventsSelected.Add(eventToAdd);
|
||||
eventToAdd.Select();
|
||||
}
|
||||
/*else
|
||||
{
|
||||
eventsSelected.Remove(eventToAdd);
|
||||
eventToAdd.DeSelect();
|
||||
}*/
|
||||
}
|
||||
|
||||
public void DragSelect(TimelineEventObj eventToAdd)
|
||||
{
|
||||
if (!eventsSelected.Contains(eventToAdd))
|
||||
{
|
||||
eventsSelected.Add(eventToAdd);
|
||||
eventToAdd.Select();
|
||||
}
|
||||
}
|
||||
|
||||
public void DeselectAll()
|
||||
{
|
||||
for (int i = 0; i < eventsSelected.Count; i++)
|
||||
{
|
||||
eventsSelected[i].DeSelect();
|
||||
}
|
||||
|
||||
eventsSelected.Clear();
|
||||
}
|
||||
|
||||
public void Deselect(TimelineEventObj eventToDeselect)
|
||||
{
|
||||
if (eventsSelected.Contains(eventToDeselect))
|
||||
{
|
||||
eventsSelected.Remove(eventToDeselect);
|
||||
eventToDeselect.DeSelect();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user