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.
- package/.attestation.p7m +0 -0
- package/DREditor.Flairs.asmdef +18 -18
- package/DREditor.Flairs.asmdef.meta +7 -7
- package/DestroyFlairHandler.cs +89 -89
- package/DestroyFlairHandler.cs.meta +1 -1
- package/DestroyFlairOnDirectorComplete.cs +73 -73
- package/DestroyFlairOnDirectorComplete.cs.meta +11 -11
- package/DestroyFlairOnNextLine.cs +77 -77
- package/DestroyFlairOnNextLine.cs.meta +1 -1
- package/Editor/AllCharactersOption.cs +42 -42
- package/Editor/AllCharactersOption.cs.meta +1 -1
- package/Editor/AllFlairsOneCharacterOption.cs +46 -46
- package/Editor/AllFlairsOneCharacterOption.cs.meta +1 -1
- package/Editor/AllSpritesOption.cs +53 -53
- package/Editor/AllSpritesOption.cs.meta +1 -1
- package/Editor/DREditor.Flairs.Editor.asmdef +17 -17
- package/Editor/DREditor.Flairs.Editor.asmdef.meta +7 -7
- package/Editor/FlairEditorTools.cs +86 -86
- package/Editor/FlairEditorTools.cs.meta +1 -1
- package/Editor/GenerateFlairDebugDialogue.cs +61 -61
- package/Editor/GenerateFlairDebugDialogue.cs.meta +1 -1
- package/Editor/GenerateFlairDialogueOptionBase.cs +111 -111
- package/Editor/GenerateFlairDialogueOptionBase.cs.meta +1 -1
- package/Editor/IGenerateFlairDialogueSetting.cs +18 -18
- package/Editor/IGenerateFlairDialogueSetting.cs.meta +1 -1
- package/Editor.meta +8 -8
- package/EnableFlairCanvas.cs +77 -77
- package/EnableFlairCanvas.cs.meta +1 -1
- package/FadeFlairDestroyer.cs +58 -58
- package/FadeFlairDestroyer.cs.meta +1 -1
- package/Flair.cs +31 -31
- package/Flair.cs.meta +1 -1
- package/FlairDestroyer.cs +26 -26
- package/FlairDestroyer.cs.meta +1 -1
- package/FlairEvent.cs +45 -45
- package/FlairEvent.cs.meta +1 -1
- package/FlairEventHandler.cs +33 -33
- package/FlairEventHandler.cs.meta +1 -1
- package/FlairOffset.cs +47 -47
- package/FlairOffset.cs.meta +1 -1
- package/FlairSpawner.cs +28 -28
- package/FlairSpawner.cs.meta +1 -1
- package/FlairSpawnerBase.cs +16 -16
- package/FlairSpawnerBase.cs.meta +1 -1
- package/FlairStrategy.cs +48 -48
- package/FlairStrategy.cs.meta +1 -1
- package/FlairStrategyBase.cs +57 -57
- package/FlairStrategyBase.cs.meta +1 -1
- package/Flair_Question.controller +72 -72
- package/Flair_Question.controller.meta +8 -8
- package/Flair_QuestionAnim.anim +693 -693
- package/Flair_QuestionAnim.anim.meta +8 -8
- package/Flair_QuestionTimeline.playable +2198 -2198
- package/Flair_QuestionTimeline.playable.meta +8 -8
- package/IFlair.cs +16 -16
- package/IFlair.cs.meta +1 -1
- package/IFlairDestroyable.cs +15 -15
- package/IFlairDestroyable.cs.meta +1 -1
- package/IFlairEvent.cs +29 -29
- package/IFlairEvent.cs.meta +1 -1
- package/IFlairSetting.cs +16 -16
- package/IFlairSetting.cs.meta +1 -1
- package/IFlairSpawnStep.cs +17 -17
- package/IFlairSpawnStep.cs.meta +1 -1
- package/IFlairStep.cs +17 -17
- package/IFlairStep.cs.meta +1 -1
- package/LayerFlair.cs +38 -38
- package/LayerFlair.cs.meta +1 -1
- package/ProtagFlairStrategy.cs +68 -68
- package/ProtagFlairStrategy.cs.meta +1 -1
- package/{Samples → Samples~}/Flair.prefab +145 -145
- package/{Samples → Samples~}/Flair.prefab.meta +7 -7
- package/{Samples → Samples~}/Flair_Event_Handler.prefab +238 -238
- package/{Samples → Samples~}/Flair_Event_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Flair_Question.asset +15 -15
- package/{Samples → Samples~}/Flair_Question.asset.meta +8 -8
- package/{Samples → Samples~}/Flair_Question.prefab +412 -412
- package/{Samples → Samples~}/Flair_Question.prefab.meta +7 -7
- package/{Samples → Samples~}/Flair_Strategy.prefab +64 -64
- package/{Samples → Samples~}/Flair_Strategy.prefab.meta +7 -7
- package/{Samples → Samples~}/Protag_Flair_Strategy.prefab +186 -186
- package/{Samples → Samples~}/Protag_Flair_Strategy.prefab.meta +7 -7
- package/SpawnFlairOnHead.cs +36 -36
- package/SpawnFlairOnHead.cs.meta +1 -1
- package/SpawnFlairOnParent.cs +24 -24
- package/SpawnFlairOnParent.cs.meta +1 -1
- package/SpawnFlairStepBase.cs +44 -44
- package/SpawnFlairStepBase.cs.meta +1 -1
- package/SpawnFlairToParent.cs +38 -38
- package/SpawnFlairToParent.cs.meta +1 -1
- package/package.json +41 -36
- package/package.json.meta +7 -7
- 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:
|
package/EnableFlairCanvas.cs
CHANGED
|
@@ -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
|
package/FadeFlairDestroyer.cs
CHANGED
|
@@ -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
|