A 2D Farming RPG
This is just a simple 2D farming RPG game
Loading...
Searching...
No Matches
ObscuringItemFader.cs
Go to the documentation of this file.
1using System.Collections;
2using UnityEngine;
3
4[RequireComponent(typeof(SpriteRenderer))]
9public class ObscuringItemFader : MonoBehaviour
10{
11 private SpriteRenderer m_SpriteRenderer;
12
13 private void Awake()
14 {
15 m_SpriteRenderer = gameObject.GetComponent<SpriteRenderer>();
16 }
17
21 public void FadeOut()
22 {
23 StartCoroutine( FadeOutRoutine() );
24 }
25
29 public void FadeIn()
30 {
31 StartCoroutine( FadeInRoutine() );
32 }
33
38 private IEnumerator FadeInRoutine()
39 {
40 float currentAlpha = m_SpriteRenderer.color.a;
41
42 float distance = 1f - currentAlpha;
43
44 while( 1f - currentAlpha > 0.01f )
45 {
46 currentAlpha = currentAlpha + distance / Settings.m_FadeInSeconds * Time.deltaTime;
47 m_SpriteRenderer.color = new Color(1f, 1f, 1f, currentAlpha);
48 yield return null;
49 }
50
51 m_SpriteRenderer.color = new Color(1f, 1f, 1f, 1f );
52
53 }
54
59 private IEnumerator FadeOutRoutine()
60 {
61 float currentAlpha = m_SpriteRenderer.color.a;
62
63 float distance = currentAlpha - Settings.m_TargetAlpha;
64
65 while( currentAlpha - Settings.m_TargetAlpha > 0.01f )
66 {
67 currentAlpha = currentAlpha - distance / Settings.m_FadeOutSeconds * Time.deltaTime;
68 m_SpriteRenderer.color = new Color( 1f, 1f, 1f, currentAlpha );
69 yield return null;
70 }
71
72 m_SpriteRenderer.color = new Color( 1f, 1f, 1f, Settings.m_TargetAlpha );
73 }
74
75
76}
Used to obscure items when player is behind them. So that player can see the avatar clearly.
void FadeIn()
Start to fade in the object
SpriteRenderer m_SpriteRenderer
IEnumerator FadeInRoutine()
This coroutine will fade in alpha value at each keyframe.
void FadeOut()
Start to fade out the object
IEnumerator FadeOutRoutine()
This coroutine will fade out alpha value at each keyframe.
This class handle the game settings.
Definition: Settings.cs:9
const float m_TargetAlpha
How it looks like after fading.
Definition: Settings.cs:16