blob: 4a505f1d2bf7ca326df41f981cbabac6152655b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
using MoreMountains.Feedbacks;
using UnityEngine;
public class Coinslot : MonoBehaviour
{
public Transform fillTarget;
public AnimationCurve fillCurve;
public MMF_Player fullFeedback;
public MMF_Player deniedFeedback;
public MMF_Player appearFeedback;
public MMF_Player disappearFeedback;
public MMF_Player fullCompleteFeedback;
private float fill01;
public bool isFull => fill01 >= 1f;
public float CurrentFill01 => fill01;
public bool AddFill(float percentage, bool isLastCoin)
{
fill01 += percentage;
fillTarget.localScale = Vector3.one * fillCurve.Evaluate(Mathf.Clamp01(fill01));
if (isFull)
{
if (!isLastCoin)
{
fullFeedback.PlayFeedbacks();
}
else
{
fullCompleteFeedback.PlayFeedbacks();
}
return true;
}
return false;
}
public void SetEmpty()
{
fill01 = 0f;
fillTarget.localScale = Vector3.zero;
}
public void PlayDeny()
{
deniedFeedback.PlayFeedbacks();
}
public void Appear()
{
fullFeedback.StopFeedbacks();
deniedFeedback.StopFeedbacks();
appearFeedback.StopFeedbacks();
disappearFeedback.StopFeedbacks();
fill01 = 0f;
fillTarget.localScale = Vector3.zero;
base.transform.localScale = Vector3.zero;
appearFeedback.PlayFeedbacks();
}
public void Disappear()
{
fullFeedback.StopFeedbacks();
deniedFeedback.StopFeedbacks();
appearFeedback.StopFeedbacks();
disappearFeedback.StopFeedbacks();
disappearFeedback.PlayFeedbacks();
}
}
|