net.dreditor.flairs 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.attestation.p7m +0 -0
  2. package/DREditor.Flairs.asmdef +18 -18
  3. package/DREditor.Flairs.asmdef.meta +7 -7
  4. package/DestroyFlairHandler.cs +89 -89
  5. package/DestroyFlairHandler.cs.meta +1 -1
  6. package/DestroyFlairOnDirectorComplete.cs +73 -73
  7. package/DestroyFlairOnDirectorComplete.cs.meta +11 -11
  8. package/DestroyFlairOnNextLine.cs +77 -77
  9. package/DestroyFlairOnNextLine.cs.meta +1 -1
  10. package/Editor/AllCharactersOption.cs +42 -42
  11. package/Editor/AllCharactersOption.cs.meta +1 -1
  12. package/Editor/AllFlairsOneCharacterOption.cs +46 -46
  13. package/Editor/AllFlairsOneCharacterOption.cs.meta +1 -1
  14. package/Editor/AllSpritesOption.cs +53 -53
  15. package/Editor/AllSpritesOption.cs.meta +1 -1
  16. package/Editor/DREditor.Flairs.Editor.asmdef +17 -17
  17. package/Editor/DREditor.Flairs.Editor.asmdef.meta +7 -7
  18. package/Editor/FlairEditorTools.cs +86 -86
  19. package/Editor/FlairEditorTools.cs.meta +1 -1
  20. package/Editor/GenerateFlairDebugDialogue.cs +61 -61
  21. package/Editor/GenerateFlairDebugDialogue.cs.meta +1 -1
  22. package/Editor/GenerateFlairDialogueOptionBase.cs +111 -111
  23. package/Editor/GenerateFlairDialogueOptionBase.cs.meta +1 -1
  24. package/Editor/IGenerateFlairDialogueSetting.cs +18 -18
  25. package/Editor/IGenerateFlairDialogueSetting.cs.meta +1 -1
  26. package/Editor.meta +8 -8
  27. package/EnableFlairCanvas.cs +77 -77
  28. package/EnableFlairCanvas.cs.meta +1 -1
  29. package/FadeFlairDestroyer.cs +58 -58
  30. package/FadeFlairDestroyer.cs.meta +1 -1
  31. package/Flair.cs +31 -31
  32. package/Flair.cs.meta +1 -1
  33. package/FlairDestroyer.cs +26 -26
  34. package/FlairDestroyer.cs.meta +1 -1
  35. package/FlairEvent.cs +45 -45
  36. package/FlairEvent.cs.meta +1 -1
  37. package/FlairEventHandler.cs +33 -33
  38. package/FlairEventHandler.cs.meta +1 -1
  39. package/FlairOffset.cs +47 -47
  40. package/FlairOffset.cs.meta +1 -1
  41. package/FlairSpawner.cs +28 -28
  42. package/FlairSpawner.cs.meta +1 -1
  43. package/FlairSpawnerBase.cs +16 -16
  44. package/FlairSpawnerBase.cs.meta +1 -1
  45. package/FlairStrategy.cs +48 -48
  46. package/FlairStrategy.cs.meta +1 -1
  47. package/FlairStrategyBase.cs +57 -57
  48. package/FlairStrategyBase.cs.meta +1 -1
  49. package/Flair_Question.controller +72 -72
  50. package/Flair_Question.controller.meta +8 -8
  51. package/Flair_QuestionAnim.anim +693 -693
  52. package/Flair_QuestionAnim.anim.meta +8 -8
  53. package/Flair_QuestionTimeline.playable +2198 -2198
  54. package/Flair_QuestionTimeline.playable.meta +8 -8
  55. package/IFlair.cs +16 -16
  56. package/IFlair.cs.meta +1 -1
  57. package/IFlairDestroyable.cs +15 -15
  58. package/IFlairDestroyable.cs.meta +1 -1
  59. package/IFlairEvent.cs +29 -29
  60. package/IFlairEvent.cs.meta +1 -1
  61. package/IFlairSetting.cs +16 -16
  62. package/IFlairSetting.cs.meta +1 -1
  63. package/IFlairSpawnStep.cs +17 -17
  64. package/IFlairSpawnStep.cs.meta +1 -1
  65. package/IFlairStep.cs +17 -17
  66. package/IFlairStep.cs.meta +1 -1
  67. package/LayerFlair.cs +38 -38
  68. package/LayerFlair.cs.meta +1 -1
  69. package/ProtagFlairStrategy.cs +68 -68
  70. package/ProtagFlairStrategy.cs.meta +1 -1
  71. package/{Samples → Samples~}/Flair.prefab +145 -145
  72. package/{Samples → Samples~}/Flair.prefab.meta +7 -7
  73. package/{Samples → Samples~}/Flair_Event_Handler.prefab +238 -238
  74. package/{Samples → Samples~}/Flair_Event_Handler.prefab.meta +7 -7
  75. package/{Samples → Samples~}/Flair_Question.asset +15 -15
  76. package/{Samples → Samples~}/Flair_Question.asset.meta +8 -8
  77. package/{Samples → Samples~}/Flair_Question.prefab +412 -412
  78. package/{Samples → Samples~}/Flair_Question.prefab.meta +7 -7
  79. package/{Samples → Samples~}/Flair_Strategy.prefab +64 -64
  80. package/{Samples → Samples~}/Flair_Strategy.prefab.meta +7 -7
  81. package/{Samples → Samples~}/Protag_Flair_Strategy.prefab +186 -186
  82. package/{Samples → Samples~}/Protag_Flair_Strategy.prefab.meta +7 -7
  83. package/SpawnFlairOnHead.cs +36 -36
  84. package/SpawnFlairOnHead.cs.meta +1 -1
  85. package/SpawnFlairOnParent.cs +24 -24
  86. package/SpawnFlairOnParent.cs.meta +1 -1
  87. package/SpawnFlairStepBase.cs +44 -44
  88. package/SpawnFlairStepBase.cs.meta +1 -1
  89. package/SpawnFlairToParent.cs +38 -38
  90. package/SpawnFlairToParent.cs.meta +1 -1
  91. package/package.json +41 -36
  92. package/package.json.meta +7 -7
  93. package/Samples.meta +0 -8
@@ -1,112 +1,112 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- #if UNITY_EDITOR
3
- using DREditor.Characters;
4
- using DREditor.Dialogues;
5
- using DREditor.Dialogues.Events;
6
- using DREditor.Editor.Toolbox;
7
- using DREditor.Editor.Utility;
8
- using System;
9
- using System.Collections.Generic;
10
- using UnityEngine;
11
-
12
- namespace DREditor.Flairs.Editor
13
- {
14
- /// <summary>
15
- ///
16
- /// </summary>
17
- [Serializable]
18
- public abstract class GenerateFlairDialogueOptionBase : IGenerateFlairDialogueSetting
19
- {
20
- /// <summary>
21
- ///
22
- /// </summary>
23
- [Tooltip("")]
24
- [SerializeField] protected string characterDatabaseFolderPath = "Assets/Resources/Characters";
25
-
26
- /// <summary>
27
- ///
28
- /// </summary>
29
- [Tooltip("")]
30
- [SerializeField] protected string targetDirectory = "Dialogues";
31
-
32
-
33
- /// <summary>
34
- ///
35
- /// </summary>
36
- protected CharacterDatabase cdb;
37
-
38
- /// <summary>
39
- ///
40
- /// </summary>
41
- protected List<IFlairEvent> events;
42
-
43
- /// <summary>
44
- ///
45
- /// </summary>
46
- protected Dictionary<Character, int> characterIndexes;
47
-
48
-
49
- protected GenerateFlairDialogueOptionBase() => targetDirectory = CustomEditorUtility.GetCurrentProjectWindowPath();
50
-
51
-
52
- /// <inheritdoc/>
53
- public virtual void ExecuteOption(List<IFlairEvent> events)
54
- {
55
- Initialize(events);
56
-
57
- GenerateDialogue();
58
- }
59
-
60
- /// <summary>
61
- ///
62
- /// </summary>
63
- /// <param name="events"></param>
64
- protected virtual void Initialize(List<IFlairEvent> events)
65
- {
66
- cdb = BuilderUtility.SetAssetByType<CharacterDatabase>($"t:{nameof(CharacterDatabase)}", new[] { characterDatabaseFolderPath });
67
-
68
- this.events = events;
69
-
70
- characterIndexes = new Dictionary<Character, int>(cdb.Characters.Count);
71
-
72
- for (int i = 0; i < cdb.Characters.Count; i++)
73
- characterIndexes[cdb.Characters[i]] = i;
74
- }
75
-
76
- /// <summary>
77
- ///
78
- /// </summary>
79
- protected abstract void GenerateDialogue();
80
-
81
- /// <summary>
82
- ///
83
- /// </summary>
84
- /// <typeparam name="T"></typeparam>
85
- /// <returns></returns>
86
- protected virtual T MakeInstance<T>() where T : ScriptableObject => (T)ScriptableObject.CreateInstance(typeof(T));
87
-
88
- /// <summary>
89
- ///
90
- /// </summary>
91
- /// <param name="character"></param>
92
- /// <param name="flair"></param>
93
- /// <param name="flairName"></param>
94
- /// <param name="expressionNum"></param>
95
- /// <returns></returns>
96
- protected virtual Line CharacterFlairLine(Character character, IFlairEvent flair, string flairName, int expressionNum = -1)
97
- {
98
- Expression expression = expressionNum >= 0 ? character.Expressions[expressionNum] : null;
99
-
100
- Line line = new(character, characterIndexes[character], expression, expressionNum + 1,
101
- "Testing: " + character.FirstName + " " + flairName);
102
-
103
- if (flair is IDialogueEvent dialogueEvent)
104
- line.DiaEvents.Add(dialogueEvent);
105
- else
106
- UnityEngine.Debug.LogWarning($"ALERT: The sent flair event was not also inheriting {nameof(IDialogueEvent)}!");
107
-
108
- return line;
109
- }
110
- }
111
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ #if UNITY_EDITOR
3
+ using DREditor.Characters;
4
+ using DREditor.Dialogues;
5
+ using DREditor.Dialogues.Events;
6
+ using DREditor.Editor.Toolbox;
7
+ using DREditor.Editor.Utility;
8
+ using System;
9
+ using System.Collections.Generic;
10
+ using UnityEngine;
11
+
12
+ namespace DREditor.Flairs.Editor
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [Serializable]
18
+ public abstract class GenerateFlairDialogueOptionBase : IGenerateFlairDialogueSetting
19
+ {
20
+ /// <summary>
21
+ ///
22
+ /// </summary>
23
+ [Tooltip("")]
24
+ [SerializeField] protected string characterDatabaseFolderPath = "Assets/Resources/Characters";
25
+
26
+ /// <summary>
27
+ ///
28
+ /// </summary>
29
+ [Tooltip("")]
30
+ [SerializeField] protected string targetDirectory = "Dialogues";
31
+
32
+
33
+ /// <summary>
34
+ ///
35
+ /// </summary>
36
+ protected CharacterDatabase cdb;
37
+
38
+ /// <summary>
39
+ ///
40
+ /// </summary>
41
+ protected List<IFlairEvent> events;
42
+
43
+ /// <summary>
44
+ ///
45
+ /// </summary>
46
+ protected Dictionary<Character, int> characterIndexes;
47
+
48
+
49
+ protected GenerateFlairDialogueOptionBase() => targetDirectory = CustomEditorUtility.GetCurrentProjectWindowPath();
50
+
51
+
52
+ /// <inheritdoc/>
53
+ public virtual void ExecuteOption(List<IFlairEvent> events)
54
+ {
55
+ Initialize(events);
56
+
57
+ GenerateDialogue();
58
+ }
59
+
60
+ /// <summary>
61
+ ///
62
+ /// </summary>
63
+ /// <param name="events"></param>
64
+ protected virtual void Initialize(List<IFlairEvent> events)
65
+ {
66
+ cdb = BuilderUtility.SetAssetByType<CharacterDatabase>($"t:{nameof(CharacterDatabase)}", new[] { characterDatabaseFolderPath });
67
+
68
+ this.events = events;
69
+
70
+ characterIndexes = new Dictionary<Character, int>(cdb.Characters.Count);
71
+
72
+ for (int i = 0; i < cdb.Characters.Count; i++)
73
+ characterIndexes[cdb.Characters[i]] = i;
74
+ }
75
+
76
+ /// <summary>
77
+ ///
78
+ /// </summary>
79
+ protected abstract void GenerateDialogue();
80
+
81
+ /// <summary>
82
+ ///
83
+ /// </summary>
84
+ /// <typeparam name="T"></typeparam>
85
+ /// <returns></returns>
86
+ protected virtual T MakeInstance<T>() where T : ScriptableObject => (T)ScriptableObject.CreateInstance(typeof(T));
87
+
88
+ /// <summary>
89
+ ///
90
+ /// </summary>
91
+ /// <param name="character"></param>
92
+ /// <param name="flair"></param>
93
+ /// <param name="flairName"></param>
94
+ /// <param name="expressionNum"></param>
95
+ /// <returns></returns>
96
+ protected virtual Line CharacterFlairLine(Character character, IFlairEvent flair, string flairName, int expressionNum = -1)
97
+ {
98
+ Expression expression = expressionNum >= 0 ? character.Expressions[expressionNum] : null;
99
+
100
+ Line line = new(character, characterIndexes[character], expression, expressionNum + 1,
101
+ "Testing: " + character.FirstName + " " + flairName);
102
+
103
+ if (flair is IDialogueEvent dialogueEvent)
104
+ line.DiaEvents.Add(dialogueEvent);
105
+ else
106
+ UnityEngine.Debug.LogWarning($"ALERT: The sent flair event was not also inheriting {nameof(IDialogueEvent)}!");
107
+
108
+ return line;
109
+ }
110
+ }
111
+ }
112
112
  #endif
@@ -1,2 +1,2 @@
1
- fileFormatVersion: 2
1
+ fileFormatVersion: 2
2
2
  guid: 91eeb5096d8ee3b46bccdcbf6fe7bc7a
@@ -1,19 +1,19 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- #if UNITY_EDITOR
3
- using System.Collections.Generic;
4
-
5
- namespace DREditor.Flairs.Editor
6
- {
7
- /// <summary>
8
- ///
9
- /// </summary>
10
- public interface IGenerateFlairDialogueSetting
11
- {
12
- /// <summary>
13
- ///
14
- /// </summary>
15
- /// <param name="events"></param>
16
- void ExecuteOption(List<IFlairEvent> events);
17
- }
18
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ #if UNITY_EDITOR
3
+ using System.Collections.Generic;
4
+
5
+ namespace DREditor.Flairs.Editor
6
+ {
7
+ /// <summary>
8
+ ///
9
+ /// </summary>
10
+ public interface IGenerateFlairDialogueSetting
11
+ {
12
+ /// <summary>
13
+ ///
14
+ /// </summary>
15
+ /// <param name="events"></param>
16
+ void ExecuteOption(List<IFlairEvent> events);
17
+ }
18
+ }
19
19
  #endif
@@ -1,2 +1,2 @@
1
- fileFormatVersion: 2
1
+ fileFormatVersion: 2
2
2
  guid: 6053705ad5be93b46a89156675d1fbe3
package/Editor.meta CHANGED
@@ -1,8 +1,8 @@
1
- fileFormatVersion: 2
2
- guid: 65ade1c17043fcc43b62a2f95baade4f
3
- folderAsset: yes
4
- DefaultImporter:
5
- externalObjects: {}
6
- userData:
7
- assetBundleName:
8
- assetBundleVariant:
1
+ fileFormatVersion: 2
2
+ guid: 65ade1c17043fcc43b62a2f95baade4f
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -1,78 +1,78 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
- using DREditor.Services;
3
- using System;
4
- using UnityEngine;
5
-
6
- namespace DREditor.Flairs
7
- {
8
- /// <summary>
9
- ///
10
- /// </summary>
11
- [Serializable]
12
- public class EnableFlairCanvas : IFlairStep, IToTitleScreen
13
- {
14
- /// <summary>
15
- ///
16
- /// </summary>
17
- [Header("")]
18
- [Divider]
19
- [Tooltip("")]
20
- [SerializeField] protected Canvas canvas = null;
21
-
22
- /// <summary>
23
- ///
24
- /// </summary>
25
- [Tooltip("")]
26
- [SerializeField] protected RectTransform parent = null;
27
-
28
-
29
- /// <inheritdoc/>
30
- public virtual void ApplyStep(IFlairEvent eventInstance, GameObject spawnedFlair)
31
- {
32
- SetCanvasEnabled(true);
33
-
34
- if (spawnedFlair.TryGetComponent(out IFlairDestroyable destroyable))
35
- destroyable.OnFlairDestroyed.AddListener(OnFlairDestroyed);
36
- }
37
-
38
- /// <summary>
39
- ///
40
- /// </summary>
41
- /// <param name="destroyable"></param>
42
- protected virtual void OnFlairDestroyed(IFlairDestroyable destroyable)
43
- {
44
- destroyable.OnFlairDestroyed.RemoveListener(OnFlairDestroyed);
45
-
46
- DisableOnCanvasEmpty();
47
- }
48
-
49
- /// <summary>
50
- ///
51
- /// </summary>
52
- protected virtual void DisableOnCanvasEmpty()
53
- {
54
- if (canvas != null && parent != null && parent.transform.childCount == 1)
55
- SetCanvasEnabled(false);
56
- }
57
-
58
- /// <summary>
59
- ///
60
- /// </summary>
61
- /// <param name="enabled"></param>
62
- protected virtual void SetCanvasEnabled(bool enabled)
63
- {
64
- if (canvas != null)
65
- canvas.enabled = enabled;
66
- }
67
-
68
-
69
- /// <inheritdoc/>
70
- public virtual void ToTitleScreen()
71
- {
72
- var children = parent.GetComponentsInChildren<Transform>();
73
-
74
- foreach (var child in children)
75
- MonoBehaviour.Destroy(child.gameObject);
76
- }
77
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
+ using DREditor.Services;
3
+ using System;
4
+ using UnityEngine;
5
+
6
+ namespace DREditor.Flairs
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [Serializable]
12
+ public class EnableFlairCanvas : IFlairStep, IToTitleScreen
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [Header("")]
18
+ [Divider]
19
+ [Tooltip("")]
20
+ [SerializeField] protected Canvas canvas = null;
21
+
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ [Tooltip("")]
26
+ [SerializeField] protected RectTransform parent = null;
27
+
28
+
29
+ /// <inheritdoc/>
30
+ public virtual void ApplyStep(IFlairEvent eventInstance, GameObject spawnedFlair)
31
+ {
32
+ SetCanvasEnabled(true);
33
+
34
+ if (spawnedFlair.TryGetComponent(out IFlairDestroyable destroyable))
35
+ destroyable.OnFlairDestroyed.AddListener(OnFlairDestroyed);
36
+ }
37
+
38
+ /// <summary>
39
+ ///
40
+ /// </summary>
41
+ /// <param name="destroyable"></param>
42
+ protected virtual void OnFlairDestroyed(IFlairDestroyable destroyable)
43
+ {
44
+ destroyable.OnFlairDestroyed.RemoveListener(OnFlairDestroyed);
45
+
46
+ DisableOnCanvasEmpty();
47
+ }
48
+
49
+ /// <summary>
50
+ ///
51
+ /// </summary>
52
+ protected virtual void DisableOnCanvasEmpty()
53
+ {
54
+ if (canvas != null && parent != null && parent.transform.childCount == 1)
55
+ SetCanvasEnabled(false);
56
+ }
57
+
58
+ /// <summary>
59
+ ///
60
+ /// </summary>
61
+ /// <param name="enabled"></param>
62
+ protected virtual void SetCanvasEnabled(bool enabled)
63
+ {
64
+ if (canvas != null)
65
+ canvas.enabled = enabled;
66
+ }
67
+
68
+
69
+ /// <inheritdoc/>
70
+ public virtual void ToTitleScreen()
71
+ {
72
+ var children = parent.GetComponentsInChildren<Transform>();
73
+
74
+ foreach (var child in children)
75
+ MonoBehaviour.Destroy(child.gameObject);
76
+ }
77
+ }
78
78
  }
@@ -1,2 +1,2 @@
1
- fileFormatVersion: 2
1
+ fileFormatVersion: 2
2
2
  guid: 7d8355ff5e9515449bf39a155e76e5cb
@@ -1,59 +1,59 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
- #if DOTWEEN
3
- using DG.Tweening;
4
- using DREditor.Utility;
5
- using UnityEngine.UI;
6
- #endif
7
- using System.Collections;
8
- using UnityEngine;
9
-
10
-
11
- namespace DREditor.Flairs
12
- {
13
- /// <summary>
14
- ///
15
- /// </summary>
16
- [ClassHeader(nameof(FlairDestroyer) + ", " + nameof(IFlairDestroyable) +
17
- "\n\n")]
18
- public class FadeFlairDestroyer : FlairDestroyer
19
- {
20
- /// <summary>
21
- ///
22
- /// </summary>
23
- [Tooltip("")]
24
- [SerializeField] protected float fadeOutFlairTime = 0.5f;
25
-
26
-
27
- /// <inheritdoc/>
28
- public override void DestroyFlair() => StartCoroutine(FadeOutFlairsOnDestroy());
29
-
30
- /// <summary>
31
- ///
32
- /// </summary>
33
- protected virtual IEnumerator FadeOutFlairsOnDestroy()
34
- {
35
- #if DOTWEEN
36
- FadeComponents<SpriteRenderer>((sprite) => sprite.DOColor(sprite.color.Invisible(), fadeOutFlairTime));
37
-
38
- FadeComponents<Image>((image) => image.DOColor(image.color.Invisible(), fadeOutFlairTime));
39
- #endif
40
- yield return new WaitForSeconds(fadeOutFlairTime);
41
-
42
- base.DestroyFlair();
43
- }
44
-
45
- /// <summary>
46
- ///
47
- /// </summary>
48
- /// <typeparam name="T"></typeparam>
49
- /// <param name="fade"></param>
50
- protected virtual void FadeComponents<T>(System.Action<T> fade) where T : Component
51
- {
52
- T[] components = gameObject.GetComponentsInChildren<T>();
53
-
54
- foreach (var component in components)
55
- if (component != null)
56
- fade(component);
57
- }
58
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
+ #if DOTWEEN
3
+ using DG.Tweening;
4
+ using DREditor.Utility;
5
+ using UnityEngine.UI;
6
+ #endif
7
+ using System.Collections;
8
+ using UnityEngine;
9
+
10
+
11
+ namespace DREditor.Flairs
12
+ {
13
+ /// <summary>
14
+ ///
15
+ /// </summary>
16
+ [ClassHeader(nameof(FlairDestroyer) + ", " + nameof(IFlairDestroyable) +
17
+ "\n\n")]
18
+ public class FadeFlairDestroyer : FlairDestroyer
19
+ {
20
+ /// <summary>
21
+ ///
22
+ /// </summary>
23
+ [Tooltip("")]
24
+ [SerializeField] protected float fadeOutFlairTime = 0.5f;
25
+
26
+
27
+ /// <inheritdoc/>
28
+ public override void DestroyFlair() => StartCoroutine(FadeOutFlairsOnDestroy());
29
+
30
+ /// <summary>
31
+ ///
32
+ /// </summary>
33
+ protected virtual IEnumerator FadeOutFlairsOnDestroy()
34
+ {
35
+ #if DOTWEEN
36
+ FadeComponents<SpriteRenderer>((sprite) => sprite.DOColor(sprite.color.Invisible(), fadeOutFlairTime));
37
+
38
+ FadeComponents<Image>((image) => image.DOColor(image.color.Invisible(), fadeOutFlairTime));
39
+ #endif
40
+ yield return new WaitForSeconds(fadeOutFlairTime);
41
+
42
+ base.DestroyFlair();
43
+ }
44
+
45
+ /// <summary>
46
+ ///
47
+ /// </summary>
48
+ /// <typeparam name="T"></typeparam>
49
+ /// <param name="fade"></param>
50
+ protected virtual void FadeComponents<T>(System.Action<T> fade) where T : Component
51
+ {
52
+ T[] components = gameObject.GetComponentsInChildren<T>();
53
+
54
+ foreach (var component in components)
55
+ if (component != null)
56
+ fade(component);
57
+ }
58
+ }
59
59
  }
@@ -1,2 +1,2 @@
1
- fileFormatVersion: 2
1
+ fileFormatVersion: 2
2
2
  guid: 0ed4feb0f64bfbb4286c83775f073cbf
package/Flair.cs CHANGED
@@ -1,32 +1,32 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
- using UnityEngine;
3
-
4
- namespace DREditor.Flairs
5
- {
6
- /// <summary>
7
- ///
8
- /// </summary>
9
- [CreateAssetMenu(menuName = "DREditor/Flairs/Flair", fileName = "Flair")]
10
- public class Flair : ScriptableObject, IFlair
11
- {
12
- /// <summary>
13
- ///
14
- /// </summary>
15
- [Header("")]
16
- [Divider]
17
- [Tooltip("")]
18
- [SerializeField] protected GameObject prefab;
19
-
20
-
21
- /// <inheritdoc/>
22
- public virtual GameObject GetPrefab() => prefab;
23
-
24
- #if UNITY_EDITOR
25
- /// <summary>
26
- ///
27
- /// </summary>
28
- /// <param name="prefab"></param>
29
- public virtual void SetPrefab(GameObject prefab) => this.prefab = prefab;
30
- #endif
31
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Kill/Cure: Beautiful Vice
2
+ using UnityEngine;
3
+
4
+ namespace DREditor.Flairs
5
+ {
6
+ /// <summary>
7
+ ///
8
+ /// </summary>
9
+ [CreateAssetMenu(menuName = "DREditor/Flairs/Flair", fileName = "Flair")]
10
+ public class Flair : ScriptableObject, IFlair
11
+ {
12
+ /// <summary>
13
+ ///
14
+ /// </summary>
15
+ [Header("")]
16
+ [Divider]
17
+ [Tooltip("")]
18
+ [SerializeField] protected GameObject prefab;
19
+
20
+
21
+ /// <inheritdoc/>
22
+ public virtual GameObject GetPrefab() => prefab;
23
+
24
+ #if UNITY_EDITOR
25
+ /// <summary>
26
+ ///
27
+ /// </summary>
28
+ /// <param name="prefab"></param>
29
+ public virtual void SetPrefab(GameObject prefab) => this.prefab = prefab;
30
+ #endif
31
+ }
32
32
  }
package/Flair.cs.meta CHANGED
@@ -1,2 +1,2 @@
1
- fileFormatVersion: 2
1
+ fileFormatVersion: 2
2
2
  guid: ca95986278916044797b243d4c7df1e5