123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- using System;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Events;
- using UnityEngine.U2D.Animation;
-
- namespace UnityEditor.U2D.Animation.SpriteLibraryEditor
- {
- /// <summary>
- /// Events triggerred from the controller class to notify different UI elements about changes.
- /// </summary>
- internal class ControllerEvents
- {
- /// <summary>
- /// Category list changed. Boolean is true when the provided list is filtered.
- /// </summary>
- public UnityEvent<List<CategoryData>, bool> onModifiedCategories { get; } = new();
-
- /// <summary>
- /// Label list changed. Boolean is true when the provided list is filtered.
- /// </summary>
- public UnityEvent<List<LabelData>, bool> onModifiedLabels { get; } = new();
-
- /// <summary>
- /// New Sprite Library Asset has been selected in the Project folder.
- /// </summary>
- public UnityEvent<SpriteLibraryAsset> onSelectedLibrary { get; } = new();
-
- /// <summary>
- /// List of selected category names.
- /// </summary>
- public UnityEvent<List<string>> onSelectedCategories { get; } = new();
-
- /// <summary>
- /// List of selected label names.
- /// </summary>
- public UnityEvent<List<string>> onSelectedLabels { get; } = new();
-
- /// <summary>
- /// View parameters have changed.
- /// </summary>
- public UnityEvent<ViewData> onViewChanged { get; } = new();
-
- /// <summary>
- /// Main Library is set.
- /// </summary>
- public UnityEvent<SpriteLibraryAsset> onMainLibraryChanged { get; } = new();
-
- /// <summary>
- /// Library data has been modified.
- /// </summary>
- public UnityEvent<bool> onLibraryDataChanged { get; } = new();
- }
-
- /// <summary>
- /// Events that notify controller of changes in the UI.
- /// </summary>
- internal class ViewEvents
- {
- /// <summary>
- /// Triggerred to create a new Sprite Library Asset at given location.
- /// </summary>
- public UnityEvent<string> onCreateNewSpriteLibraryAsset { get; } = new();
-
- /// <summary>
- /// Main UI Split Pane View size changed.
- /// </summary>
- public UnityEvent<float> onMainUISplitPaneSizeChanged { get; } = new();
-
- /// <summary>
- /// On triggerred Save action.
- /// </summary>
- public UnityEvent onSave { get; } = new();
-
- /// <summary>
- /// On triggerred Revert action.
- /// </summary>
- public UnityEvent onRevert { get; } = new();
-
- /// <summary>
- /// Auto-save has changed.
- /// </summary>
- public UnityEvent<bool> onToggleAutoSave { get; } = new();
-
- /// <summary>
- /// View size slider value changed.
- /// </summary>
- public UnityEvent<float> onViewSizeUpdate { get; } = new();
-
- /// <summary>
- /// View type changed.
- /// </summary>
- public UnityEvent<ViewType> onViewTypeUpdate { get; } = new();
-
- /// <summary>
- /// Triggerred on filter string changed.
- /// </summary>
- public UnityEvent<string> onSelectedFilter { get; } = new();
-
- /// <summary>
- /// Triggerred on selected filter type.
- /// </summary>
- public UnityEvent<SearchType> onSelectedFilterType { get; } = new();
-
- /// <summary>
- /// Triggerred when Main Library Asset is set.
- /// </summary>
- public UnityEvent<SpriteLibraryAsset> onSetMainAsset { get; } = new();
-
- /// <summary>
- /// Triggerred on new Categories selected.
- /// </summary>
- public UnityEvent<IList<string>> onSelectCategories { get; } = new();
-
- /// <summary>
- /// Triggerred on new Labels selected.
- /// </summary>
- public UnityEvent<IList<string>> onSelectLabels { get; } = new();
-
- /// <summary>
- /// Create new Category.
- /// </summary>
- public UnityEvent<string, IList<Sprite>> onCreateNewCategory { get; } = new();
-
- /// <summary>
- /// Rename selected Category.
- /// </summary>
- public UnityEvent<string> onRenameCategory { get; } = new();
-
- /// <summary>
- /// Triggerred when Categories are reordered in the list.
- /// </summary>
- public UnityEvent<IList<string>> onReorderCategories { get; } = new();
-
- /// <summary>
- /// Triggerred when selected categories are to be deleted.
- /// </summary>
- public UnityEvent onDeleteCategories { get; } = new();
-
- /// <summary>
- /// Create a new Label.
- /// </summary>
- public UnityEvent<string> onCreateNewLabel { get; } = new();
-
- /// <summary>
- /// Rename selected Label.
- /// </summary>
- public UnityEvent<string> onRenameLabel { get; } = new();
-
- /// <summary>
- /// Triggerred when Labels are reordered in the list.
- /// </summary>
- public UnityEvent<IList<string>> onReorderLabels { get; } = new();
-
- /// <summary>
- /// Delete selected Labels.
- /// </summary>
- public UnityEvent onDeleteLabels { get; } = new();
-
- /// <summary>
- /// Set Label's Sprite.
- /// </summary>
- public UnityEvent<string, Sprite> onSetLabelSprite { get; } = new();
-
- /// <summary>
- /// Add data to Categories. Triggerred when data is dragged and dropped into Categories.
- /// </summary>
- public UnityEvent<IList<DragAndDropData>, bool, string> onAddDataToCategories { get; } = new();
-
- /// <summary>
- /// Add data to Labels. Triggerred when data is dragged and dropped into labels.
- /// </summary>
- public UnityEvent<IList<DragAndDropData>, bool, string> onAddDataToLabels { get; } = new();
-
- /// <summary>
- /// Revert Labels in the collection.
- /// </summary>
- public UnityEvent<IList<string>> onRevertOverridenLabels { get; } = new();
-
- /// <summary>
- /// Selection lock value changed.
- /// </summary>
- public UnityEvent<bool> onToggleSelectionLock = new();
- }
- }
|