Skip to content

Commit 8c37cc6

Browse files
committed
feat(Effects): Improve fade object
1 parent 0dfc9b2 commit 8c37cc6

File tree

2 files changed

+56
-14
lines changed

2 files changed

+56
-14
lines changed

Assets/JCSUnity/Scripts/Effects/JCS_FadeObject.cs

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,23 @@ public class JCS_FadeObject : JCS_UnityObject
1919
{
2020
/* Variables */
2121

22-
public Action onFadeOut = null;
23-
public Action onFadeIn = null;
22+
// Execution after its done fading.
23+
public Action onAfterFade = null;
24+
public Action onAfterFadeOut = null;
25+
public Action onAfterFadeIn = null;
2426

27+
// Exectuion before start fading.
28+
public Action onBeforeFade = null;
29+
public Action onBeforeFadeIn = null;
30+
public Action onBeforeFadeOut = null;
31+
32+
// Execution while fading.
2533
public Action<float> onFading = null;
2634

35+
// The current fade type.
2736
private JCS_FadeType mFadeType = JCS_FadeType.IN; // defaul as visible
2837

38+
// Hold the alpha value.
2939
private float mAlpha = 1.0f;
3040

3141
#if UNITY_EDITOR
@@ -144,15 +154,35 @@ public bool IsFadeOut()
144154
return (this.mAlpha <= mFadeOutAmount);
145155
}
146156

147-
public void FadeOut() { FadeOut(mFadeTime); }
148-
public void FadeIn() { FadeIn(mFadeTime); }
149-
public void FadeOut(float time) { FadeEffect(JCS_FadeType.OUT, time); }
150-
public void FadeIn(float time) { this.FadeEffect(JCS_FadeType.IN, time); }
157+
/// <summary>
158+
/// Fade out.
159+
/// </summary>
160+
public void FadeOut()
161+
{
162+
FadeOut(mFadeTime);
163+
}
164+
public void FadeOut(float time)
165+
{
166+
FadeEffect(JCS_FadeType.OUT, time);
167+
}
151168

152169
/// <summary>
153-
/// Default function to point to,
154-
/// prevent null reference exception.
155-
/// to save check null pointer performance.
170+
/// Fade in.
171+
/// </summary>
172+
public void FadeIn()
173+
{
174+
FadeIn(mFadeTime);
175+
}
176+
public void FadeIn(float time)
177+
{
178+
FadeEffect(JCS_FadeType.IN, time);
179+
}
180+
181+
/// <summary>
182+
/// Default function to point to, prevent null
183+
/// reference exception.
184+
///
185+
/// To save check null pointer performance.
156186
/// </summary>
157187
public static void DefaultFadeCallback()
158188
{
@@ -183,19 +213,25 @@ private void FadeEffect(JCS_FadeType type, float time)
183213
{
184214
mAlpha = mFadeInAmount;
185215
this.mVisible = false;
216+
217+
onBeforeFadeOut?.Invoke();
186218
}
187219
break;
188220
case JCS_FadeType.IN:
189221
{
190222
mAlpha = mFadeOutAmount;
191223
this.mVisible = true;
224+
225+
onBeforeFadeIn?.Invoke();
192226
}
193227
break;
194228
}
195229

196230
this.mFadeTime = time;
197231
this.mFadeType = type;
198232
this.mEffect = true;
233+
234+
onBeforeFade?.Invoke();
199235
}
200236

201237
/// <summary>
@@ -221,8 +257,11 @@ private void DoFade()
221257

222258
mEffect = false;
223259

224-
// do fade out callback
225-
onFadeOut?.Invoke();
260+
// do callback
261+
{
262+
onAfterFadeOut?.Invoke();
263+
onAfterFade?.Invoke();
264+
}
226265

227266
return;
228267
}
@@ -238,8 +277,11 @@ private void DoFade()
238277
{
239278
mEffect = false;
240279

241-
// do fade in callback
242-
onFadeIn?.Invoke();
280+
// do callback
281+
{
282+
onAfterFadeIn?.Invoke();
283+
onAfterFade?.Invoke();
284+
}
243285

244286
return;
245287
}

Assets/JCSUnity/Scripts/UI/InGameLogSystem/JCS_LogText.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private void Awake()
5353
// set the fade out call back, so we active from pool, and check
5454
// to see if the object is fade out complete. if is complete set
5555
// the active to false (return to pool).
56-
mFadeObject.onFadeOut = OnFadeOut;
56+
mFadeObject.onAfterFadeOut = OnFadeOut;
5757
}
5858

5959
/// <summary>

0 commit comments

Comments
 (0)