net.dreditor.trackphrase 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.TrackPhrase.asmdef +25 -25
- package/DREditor.TrackPhrase.asmdef.meta +7 -7
- package/DollyCartNSD.cs +164 -164
- package/DollyCartNSD.cs.meta +11 -11
- package/PhraseShake.cs +102 -102
- package/PhraseShake.cs.meta +11 -11
- package/PhraseTrack.cs +184 -184
- package/PhraseTrack.cs.meta +11 -11
- package/{Samples → Samples~}/Track_Parent.prefab +94 -94
- package/{Samples → Samples~}/Track_Parent.prefab.meta +7 -7
- package/TrackAnimationEditor.cs +100 -100
- package/TrackAnimationEditor.cs.meta +11 -11
- package/TrackPath.cs +76 -76
- package/TrackPath.cs.meta +11 -11
- package/package.json +42 -37
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
package/.attestation.p7m
ADDED
|
Binary file
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "DREditor.TrackPhrase",
|
|
3
|
-
"rootNamespace": "",
|
|
4
|
-
"references": [
|
|
5
|
-
"Cinemachine",
|
|
6
|
-
"DREditor.Editor",
|
|
7
|
-
"DREditor",
|
|
8
|
-
"DREditor.Minigames",
|
|
9
|
-
"DREditor.Minigames.Debates"
|
|
10
|
-
],
|
|
11
|
-
"includePlatforms": [],
|
|
12
|
-
"excludePlatforms": [],
|
|
13
|
-
"allowUnsafeCode": false,
|
|
14
|
-
"overrideReferences": false,
|
|
15
|
-
"precompiledReferences": [],
|
|
16
|
-
"autoReferenced": true,
|
|
17
|
-
"defineConstraints": [],
|
|
18
|
-
"versionDefines": [
|
|
19
|
-
{
|
|
20
|
-
"name": "com.unity.cinemachine",
|
|
21
|
-
"expression": "0.0.0",
|
|
22
|
-
"define": "CINEMACHINE"
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"noEngineReferences": false
|
|
1
|
+
{
|
|
2
|
+
"name": "DREditor.TrackPhrase",
|
|
3
|
+
"rootNamespace": "",
|
|
4
|
+
"references": [
|
|
5
|
+
"Cinemachine",
|
|
6
|
+
"DREditor.Editor",
|
|
7
|
+
"DREditor",
|
|
8
|
+
"DREditor.Minigames",
|
|
9
|
+
"DREditor.Minigames.Debates"
|
|
10
|
+
],
|
|
11
|
+
"includePlatforms": [],
|
|
12
|
+
"excludePlatforms": [],
|
|
13
|
+
"allowUnsafeCode": false,
|
|
14
|
+
"overrideReferences": false,
|
|
15
|
+
"precompiledReferences": [],
|
|
16
|
+
"autoReferenced": true,
|
|
17
|
+
"defineConstraints": [],
|
|
18
|
+
"versionDefines": [
|
|
19
|
+
{
|
|
20
|
+
"name": "com.unity.cinemachine",
|
|
21
|
+
"expression": "0.0.0",
|
|
22
|
+
"define": "CINEMACHINE"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"noEngineReferences": false
|
|
26
26
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 65cd61a13104ad144a92c903a5997d69
|
|
3
|
-
AssemblyDefinitionImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
userData:
|
|
6
|
-
assetBundleName:
|
|
7
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 65cd61a13104ad144a92c903a5997d69
|
|
3
|
+
AssemblyDefinitionImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
userData:
|
|
6
|
+
assetBundleName:
|
|
7
|
+
assetBundleVariant:
|
package/DollyCartNSD.cs
CHANGED
|
@@ -1,165 +1,165 @@
|
|
|
1
|
-
//Editing Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if CINEMACHINE
|
|
3
|
-
using Cinemachine;
|
|
4
|
-
using UnityEngine;
|
|
5
|
-
using UnityEngine.Serialization;
|
|
6
|
-
using static Cinemachine.CinemachineDollyCart;
|
|
7
|
-
|
|
8
|
-
namespace DREditor.TrackPhrase
|
|
9
|
-
{
|
|
10
|
-
/// <summary>
|
|
11
|
-
///
|
|
12
|
-
/// </summary>
|
|
13
|
-
[ClassHeader("")]
|
|
14
|
-
[DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)]
|
|
15
|
-
#if UNITY_2018_3_OR_NEWER
|
|
16
|
-
[ExecuteAlways]
|
|
17
|
-
#else
|
|
18
|
-
[ExecuteInEditMode]
|
|
19
|
-
#endif
|
|
20
|
-
[DisallowMultipleComponent]
|
|
21
|
-
public class DollyCartNSD : MonoBehaviour
|
|
22
|
-
{
|
|
23
|
-
/// <summary></summary>
|
|
24
|
-
[Tooltip("")]
|
|
25
|
-
[SerializeField] protected CinemachinePathBase m_Path;
|
|
26
|
-
|
|
27
|
-
/// <summary></summary>
|
|
28
|
-
[Tooltip("")]
|
|
29
|
-
[SerializeField] protected UpdateMethod m_UpdateMethod = UpdateMethod.Update;
|
|
30
|
-
|
|
31
|
-
/// <summary></summary>
|
|
32
|
-
[Tooltip("")]
|
|
33
|
-
[SerializeField] protected CinemachinePathBase.PositionUnits m_PositionUnits = CinemachinePathBase.PositionUnits.Distance;
|
|
34
|
-
|
|
35
|
-
/// <summary></summary>
|
|
36
|
-
[Tooltip("")]
|
|
37
|
-
[FormerlySerializedAs("m_Velocity")]
|
|
38
|
-
[SerializeField] protected float m_Speed;
|
|
39
|
-
|
|
40
|
-
/// <summary></summary>
|
|
41
|
-
[Tooltip("")]
|
|
42
|
-
[FormerlySerializedAs("m_CurrentDistance")]
|
|
43
|
-
[SerializeField] protected float m_Position;
|
|
44
|
-
|
|
45
|
-
/// <summary>
|
|
46
|
-
///
|
|
47
|
-
/// </summary>
|
|
48
|
-
[Tooltip("")]
|
|
49
|
-
[SerializeField] protected bool useCurve = false;
|
|
50
|
-
|
|
51
|
-
/// <summary>
|
|
52
|
-
///
|
|
53
|
-
/// </summary>
|
|
54
|
-
[Tooltip("")]
|
|
55
|
-
[SerializeField] protected bool reset = false;
|
|
56
|
-
|
|
57
|
-
/// <summary>
|
|
58
|
-
///
|
|
59
|
-
/// </summary>
|
|
60
|
-
[Tooltip("")]
|
|
61
|
-
[SerializeField] protected AnimationCurve curve = new(new Keyframe[]
|
|
62
|
-
{
|
|
63
|
-
new(0,0), new(1, 1)
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/// <summary>
|
|
68
|
-
///
|
|
69
|
-
/// </summary>
|
|
70
|
-
/// <param name="m_Path"></param>
|
|
71
|
-
public virtual void SetPath(CinemachinePathBase m_Path) => this.m_Path = m_Path;
|
|
72
|
-
|
|
73
|
-
/// <summary>
|
|
74
|
-
///
|
|
75
|
-
/// </summary>
|
|
76
|
-
/// <param name="m_Speed"></param>
|
|
77
|
-
public virtual void SetSpeed(float m_Speed) => this.m_Speed = m_Speed;
|
|
78
|
-
|
|
79
|
-
/// <summary>
|
|
80
|
-
///
|
|
81
|
-
/// </summary>
|
|
82
|
-
/// <param name="m_Position"></param>
|
|
83
|
-
public virtual void SetPosition(float m_Position) => this.m_Position = m_Position;
|
|
84
|
-
|
|
85
|
-
/// <summary>
|
|
86
|
-
///
|
|
87
|
-
/// </summary>
|
|
88
|
-
/// <param name="m_PositionUnits"></param>
|
|
89
|
-
public virtual void SetPositionUnits(CinemachinePathBase.PositionUnits m_PositionUnits)
|
|
90
|
-
=> this.m_PositionUnits = m_PositionUnits;
|
|
91
|
-
|
|
92
|
-
/// <summary>
|
|
93
|
-
///
|
|
94
|
-
/// </summary>
|
|
95
|
-
/// <param name="useCurve"></param>
|
|
96
|
-
public virtual void SetUseCurve(bool useCurve) => this.useCurve = useCurve;
|
|
97
|
-
|
|
98
|
-
/// <summary>
|
|
99
|
-
///
|
|
100
|
-
/// </summary>
|
|
101
|
-
/// <param name="curve"></param>
|
|
102
|
-
public virtual void SetCurve(AnimationCurve curve) => this.curve = curve;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
/// <summary>
|
|
106
|
-
///
|
|
107
|
-
/// </summary>
|
|
108
|
-
protected virtual void FixedUpdate()
|
|
109
|
-
{
|
|
110
|
-
if (m_UpdateMethod == UpdateMethod.FixedUpdate)
|
|
111
|
-
SetCartPosition(m_Position + m_Speed * Time.deltaTime);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/// <summary>
|
|
115
|
-
///
|
|
116
|
-
/// </summary>
|
|
117
|
-
/// <remarks></remarks>
|
|
118
|
-
protected virtual void Update()
|
|
119
|
-
{
|
|
120
|
-
if (reset)
|
|
121
|
-
{
|
|
122
|
-
m_Position = useCurve ? 0.1f : 0;
|
|
123
|
-
|
|
124
|
-
reset = false;
|
|
125
|
-
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
float speed = Application.isPlaying ? m_Speed : 0;
|
|
130
|
-
|
|
131
|
-
if (useCurve)
|
|
132
|
-
speed = curve.Evaluate(m_Position);
|
|
133
|
-
|
|
134
|
-
if (m_UpdateMethod == UpdateMethod.Update)
|
|
135
|
-
SetCartPosition(m_Position + speed * Time.deltaTime);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/// <summary>
|
|
139
|
-
///
|
|
140
|
-
/// </summary>
|
|
141
|
-
protected virtual void LateUpdate()
|
|
142
|
-
{
|
|
143
|
-
if (!Application.isPlaying)
|
|
144
|
-
SetCartPosition(m_Position);
|
|
145
|
-
else if (m_UpdateMethod == UpdateMethod.LateUpdate)
|
|
146
|
-
SetCartPosition(m_Position + m_Speed * Time.deltaTime);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/// <summary>
|
|
150
|
-
///
|
|
151
|
-
/// </summary>
|
|
152
|
-
/// <param name="distanceAlongPath"></param>
|
|
153
|
-
protected virtual void SetCartPosition(float distanceAlongPath)
|
|
154
|
-
{
|
|
155
|
-
if (m_Path != null)
|
|
156
|
-
{
|
|
157
|
-
m_Position = m_Path.StandardizeUnit(distanceAlongPath, m_PositionUnits);
|
|
158
|
-
|
|
159
|
-
transform.SetPositionAndRotation(m_Path.EvaluatePositionAtUnit(m_Position, m_PositionUnits),
|
|
160
|
-
m_Path.EvaluateOrientationAtUnit(m_Position, m_PositionUnits));
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
1
|
+
//Editing Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if CINEMACHINE
|
|
3
|
+
using Cinemachine;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
using UnityEngine.Serialization;
|
|
6
|
+
using static Cinemachine.CinemachineDollyCart;
|
|
7
|
+
|
|
8
|
+
namespace DREditor.TrackPhrase
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
[ClassHeader("")]
|
|
14
|
+
[DocumentationSorting(DocumentationSortingAttribute.Level.UserRef)]
|
|
15
|
+
#if UNITY_2018_3_OR_NEWER
|
|
16
|
+
[ExecuteAlways]
|
|
17
|
+
#else
|
|
18
|
+
[ExecuteInEditMode]
|
|
19
|
+
#endif
|
|
20
|
+
[DisallowMultipleComponent]
|
|
21
|
+
public class DollyCartNSD : MonoBehaviour
|
|
22
|
+
{
|
|
23
|
+
/// <summary></summary>
|
|
24
|
+
[Tooltip("")]
|
|
25
|
+
[SerializeField] protected CinemachinePathBase m_Path;
|
|
26
|
+
|
|
27
|
+
/// <summary></summary>
|
|
28
|
+
[Tooltip("")]
|
|
29
|
+
[SerializeField] protected UpdateMethod m_UpdateMethod = UpdateMethod.Update;
|
|
30
|
+
|
|
31
|
+
/// <summary></summary>
|
|
32
|
+
[Tooltip("")]
|
|
33
|
+
[SerializeField] protected CinemachinePathBase.PositionUnits m_PositionUnits = CinemachinePathBase.PositionUnits.Distance;
|
|
34
|
+
|
|
35
|
+
/// <summary></summary>
|
|
36
|
+
[Tooltip("")]
|
|
37
|
+
[FormerlySerializedAs("m_Velocity")]
|
|
38
|
+
[SerializeField] protected float m_Speed;
|
|
39
|
+
|
|
40
|
+
/// <summary></summary>
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
[FormerlySerializedAs("m_CurrentDistance")]
|
|
43
|
+
[SerializeField] protected float m_Position;
|
|
44
|
+
|
|
45
|
+
/// <summary>
|
|
46
|
+
///
|
|
47
|
+
/// </summary>
|
|
48
|
+
[Tooltip("")]
|
|
49
|
+
[SerializeField] protected bool useCurve = false;
|
|
50
|
+
|
|
51
|
+
/// <summary>
|
|
52
|
+
///
|
|
53
|
+
/// </summary>
|
|
54
|
+
[Tooltip("")]
|
|
55
|
+
[SerializeField] protected bool reset = false;
|
|
56
|
+
|
|
57
|
+
/// <summary>
|
|
58
|
+
///
|
|
59
|
+
/// </summary>
|
|
60
|
+
[Tooltip("")]
|
|
61
|
+
[SerializeField] protected AnimationCurve curve = new(new Keyframe[]
|
|
62
|
+
{
|
|
63
|
+
new(0,0), new(1, 1)
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
/// <summary>
|
|
68
|
+
///
|
|
69
|
+
/// </summary>
|
|
70
|
+
/// <param name="m_Path"></param>
|
|
71
|
+
public virtual void SetPath(CinemachinePathBase m_Path) => this.m_Path = m_Path;
|
|
72
|
+
|
|
73
|
+
/// <summary>
|
|
74
|
+
///
|
|
75
|
+
/// </summary>
|
|
76
|
+
/// <param name="m_Speed"></param>
|
|
77
|
+
public virtual void SetSpeed(float m_Speed) => this.m_Speed = m_Speed;
|
|
78
|
+
|
|
79
|
+
/// <summary>
|
|
80
|
+
///
|
|
81
|
+
/// </summary>
|
|
82
|
+
/// <param name="m_Position"></param>
|
|
83
|
+
public virtual void SetPosition(float m_Position) => this.m_Position = m_Position;
|
|
84
|
+
|
|
85
|
+
/// <summary>
|
|
86
|
+
///
|
|
87
|
+
/// </summary>
|
|
88
|
+
/// <param name="m_PositionUnits"></param>
|
|
89
|
+
public virtual void SetPositionUnits(CinemachinePathBase.PositionUnits m_PositionUnits)
|
|
90
|
+
=> this.m_PositionUnits = m_PositionUnits;
|
|
91
|
+
|
|
92
|
+
/// <summary>
|
|
93
|
+
///
|
|
94
|
+
/// </summary>
|
|
95
|
+
/// <param name="useCurve"></param>
|
|
96
|
+
public virtual void SetUseCurve(bool useCurve) => this.useCurve = useCurve;
|
|
97
|
+
|
|
98
|
+
/// <summary>
|
|
99
|
+
///
|
|
100
|
+
/// </summary>
|
|
101
|
+
/// <param name="curve"></param>
|
|
102
|
+
public virtual void SetCurve(AnimationCurve curve) => this.curve = curve;
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
/// <summary>
|
|
106
|
+
///
|
|
107
|
+
/// </summary>
|
|
108
|
+
protected virtual void FixedUpdate()
|
|
109
|
+
{
|
|
110
|
+
if (m_UpdateMethod == UpdateMethod.FixedUpdate)
|
|
111
|
+
SetCartPosition(m_Position + m_Speed * Time.deltaTime);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/// <summary>
|
|
115
|
+
///
|
|
116
|
+
/// </summary>
|
|
117
|
+
/// <remarks></remarks>
|
|
118
|
+
protected virtual void Update()
|
|
119
|
+
{
|
|
120
|
+
if (reset)
|
|
121
|
+
{
|
|
122
|
+
m_Position = useCurve ? 0.1f : 0;
|
|
123
|
+
|
|
124
|
+
reset = false;
|
|
125
|
+
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
float speed = Application.isPlaying ? m_Speed : 0;
|
|
130
|
+
|
|
131
|
+
if (useCurve)
|
|
132
|
+
speed = curve.Evaluate(m_Position);
|
|
133
|
+
|
|
134
|
+
if (m_UpdateMethod == UpdateMethod.Update)
|
|
135
|
+
SetCartPosition(m_Position + speed * Time.deltaTime);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/// <summary>
|
|
139
|
+
///
|
|
140
|
+
/// </summary>
|
|
141
|
+
protected virtual void LateUpdate()
|
|
142
|
+
{
|
|
143
|
+
if (!Application.isPlaying)
|
|
144
|
+
SetCartPosition(m_Position);
|
|
145
|
+
else if (m_UpdateMethod == UpdateMethod.LateUpdate)
|
|
146
|
+
SetCartPosition(m_Position + m_Speed * Time.deltaTime);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/// <summary>
|
|
150
|
+
///
|
|
151
|
+
/// </summary>
|
|
152
|
+
/// <param name="distanceAlongPath"></param>
|
|
153
|
+
protected virtual void SetCartPosition(float distanceAlongPath)
|
|
154
|
+
{
|
|
155
|
+
if (m_Path != null)
|
|
156
|
+
{
|
|
157
|
+
m_Position = m_Path.StandardizeUnit(distanceAlongPath, m_PositionUnits);
|
|
158
|
+
|
|
159
|
+
transform.SetPositionAndRotation(m_Path.EvaluatePositionAtUnit(m_Position, m_PositionUnits),
|
|
160
|
+
m_Path.EvaluateOrientationAtUnit(m_Position, m_PositionUnits));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
165
|
#endif
|
package/DollyCartNSD.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 5a079ac016565894483fbba7e43665f7
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 5a079ac016565894483fbba7e43665f7
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/PhraseShake.cs
CHANGED
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if CINEMACHINE
|
|
3
|
-
#if DOTWEEN
|
|
4
|
-
using DG.Tweening;
|
|
5
|
-
#endif
|
|
6
|
-
using DREditor.Minigames.Debates;
|
|
7
|
-
using DREditor.Processables;
|
|
8
|
-
using UnityEngine;
|
|
9
|
-
|
|
10
|
-
namespace DREditor.TrackPhrase
|
|
11
|
-
{
|
|
12
|
-
/// <summary>
|
|
13
|
-
///
|
|
14
|
-
/// </summary>
|
|
15
|
-
[RequireComponent(typeof(PhraseTrack))]
|
|
16
|
-
[ClassHeader(nameof(IPhraseHitListener) + ", " + nameof(IPhraseResetter) + ", " + nameof(IPrioritizable) +
|
|
17
|
-
"\n\n")]
|
|
18
|
-
public class PhraseShake : MonoBehaviour, IPhraseHitListener, IPrioritizable
|
|
19
|
-
{
|
|
20
|
-
/// <summary>
|
|
21
|
-
///
|
|
22
|
-
/// </summary>
|
|
23
|
-
[Tooltip("")]
|
|
24
|
-
[SerializeField] protected int priority = 2;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
public int Priority { get => priority; set => priority = value; }
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/// <summary>
|
|
31
|
-
///
|
|
32
|
-
/// </summary>
|
|
33
|
-
[Header("")]
|
|
34
|
-
[Divider]
|
|
35
|
-
[Tooltip("")]
|
|
36
|
-
[SerializeField] protected float duration = 0.5f;
|
|
37
|
-
|
|
38
|
-
/// <summary>
|
|
39
|
-
///
|
|
40
|
-
/// </summary>
|
|
41
|
-
[Tooltip("")]
|
|
42
|
-
[SerializeField] protected float strength = 0.25f;
|
|
43
|
-
|
|
44
|
-
/// <summary>
|
|
45
|
-
///
|
|
46
|
-
/// </summary>
|
|
47
|
-
[Tooltip("")]
|
|
48
|
-
[SerializeField] protected float randomness = 45;
|
|
49
|
-
|
|
50
|
-
/// <summary>
|
|
51
|
-
///
|
|
52
|
-
/// </summary>
|
|
53
|
-
[Tooltip("")]
|
|
54
|
-
[SerializeField] protected int vibrato = 20;
|
|
55
|
-
|
|
56
|
-
/// <summary>
|
|
57
|
-
///
|
|
58
|
-
/// </summary>
|
|
59
|
-
[Tooltip("")]
|
|
60
|
-
[SerializeField] protected bool fadeOut = true;
|
|
61
|
-
|
|
62
|
-
/// <summary>
|
|
63
|
-
///
|
|
64
|
-
/// </summary>
|
|
65
|
-
[Tooltip("")]
|
|
66
|
-
[SerializeField] protected bool snapping = false;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
/// <summary>
|
|
70
|
-
///
|
|
71
|
-
/// </summary>
|
|
72
|
-
protected PhraseTrack track;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
protected virtual void Awake() => track = GetComponent<PhraseTrack>();
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
/// <inheritdoc/>
|
|
79
|
-
public virtual void OnHit() => Shake();
|
|
80
|
-
|
|
81
|
-
/// <summary>
|
|
82
|
-
///
|
|
83
|
-
/// </summary>
|
|
84
|
-
protected virtual void Shake()
|
|
85
|
-
{
|
|
86
|
-
#if DOTWEEN
|
|
87
|
-
if (track != null && track.IsUsingTrack())
|
|
88
|
-
transform.DOShakePosition(duration, strength, vibrato, randomness, snapping, fadeOut);
|
|
89
|
-
else
|
|
90
|
-
transform.parent.DOShakePosition(duration, strength, vibrato, randomness, snapping, fadeOut);
|
|
91
|
-
#endif
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
#if DOTWEEN
|
|
95
|
-
/// <inheritdoc/>
|
|
96
|
-
public virtual void Reset() => transform.DOKill();
|
|
97
|
-
#else
|
|
98
|
-
/// <inheritdoc/>
|
|
99
|
-
public virtual void Reset() { }
|
|
100
|
-
#endif
|
|
101
|
-
}
|
|
102
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if CINEMACHINE
|
|
3
|
+
#if DOTWEEN
|
|
4
|
+
using DG.Tweening;
|
|
5
|
+
#endif
|
|
6
|
+
using DREditor.Minigames.Debates;
|
|
7
|
+
using DREditor.Processables;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.TrackPhrase
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[RequireComponent(typeof(PhraseTrack))]
|
|
16
|
+
[ClassHeader(nameof(IPhraseHitListener) + ", " + nameof(IPhraseResetter) + ", " + nameof(IPrioritizable) +
|
|
17
|
+
"\n\n")]
|
|
18
|
+
public class PhraseShake : MonoBehaviour, IPhraseHitListener, IPrioritizable
|
|
19
|
+
{
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[SerializeField] protected int priority = 2;
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
public int Priority { get => priority; set => priority = value; }
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
[Header("")]
|
|
34
|
+
[Divider]
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
[SerializeField] protected float duration = 0.5f;
|
|
37
|
+
|
|
38
|
+
/// <summary>
|
|
39
|
+
///
|
|
40
|
+
/// </summary>
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
[SerializeField] protected float strength = 0.25f;
|
|
43
|
+
|
|
44
|
+
/// <summary>
|
|
45
|
+
///
|
|
46
|
+
/// </summary>
|
|
47
|
+
[Tooltip("")]
|
|
48
|
+
[SerializeField] protected float randomness = 45;
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
///
|
|
52
|
+
/// </summary>
|
|
53
|
+
[Tooltip("")]
|
|
54
|
+
[SerializeField] protected int vibrato = 20;
|
|
55
|
+
|
|
56
|
+
/// <summary>
|
|
57
|
+
///
|
|
58
|
+
/// </summary>
|
|
59
|
+
[Tooltip("")]
|
|
60
|
+
[SerializeField] protected bool fadeOut = true;
|
|
61
|
+
|
|
62
|
+
/// <summary>
|
|
63
|
+
///
|
|
64
|
+
/// </summary>
|
|
65
|
+
[Tooltip("")]
|
|
66
|
+
[SerializeField] protected bool snapping = false;
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
/// <summary>
|
|
70
|
+
///
|
|
71
|
+
/// </summary>
|
|
72
|
+
protected PhraseTrack track;
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
protected virtual void Awake() => track = GetComponent<PhraseTrack>();
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
/// <inheritdoc/>
|
|
79
|
+
public virtual void OnHit() => Shake();
|
|
80
|
+
|
|
81
|
+
/// <summary>
|
|
82
|
+
///
|
|
83
|
+
/// </summary>
|
|
84
|
+
protected virtual void Shake()
|
|
85
|
+
{
|
|
86
|
+
#if DOTWEEN
|
|
87
|
+
if (track != null && track.IsUsingTrack())
|
|
88
|
+
transform.DOShakePosition(duration, strength, vibrato, randomness, snapping, fadeOut);
|
|
89
|
+
else
|
|
90
|
+
transform.parent.DOShakePosition(duration, strength, vibrato, randomness, snapping, fadeOut);
|
|
91
|
+
#endif
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#if DOTWEEN
|
|
95
|
+
/// <inheritdoc/>
|
|
96
|
+
public virtual void Reset() => transform.DOKill();
|
|
97
|
+
#else
|
|
98
|
+
/// <inheritdoc/>
|
|
99
|
+
public virtual void Reset() { }
|
|
100
|
+
#endif
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
103
|
#endif
|
package/PhraseShake.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 194efdf2422823844bf93b93bfab659d
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 194efdf2422823844bf93b93bfab659d
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|