diff options
author | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-05-20 22:36:58 +0800 |
commit | a22c505984697881f5f911a165ee022087b69e09 (patch) | |
tree | d3c030aef1ae9b8a01c889dd2902bb1e3324e72b /Thronefall_v1.0/Decompile/Coinslot.cs | |
parent | 4a4cc82d069b26bc4d4532e73860f86b211ca239 (diff) |
Diffstat (limited to 'Thronefall_v1.0/Decompile/Coinslot.cs')
-rw-r--r-- | Thronefall_v1.0/Decompile/Coinslot.cs | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/Thronefall_v1.0/Decompile/Coinslot.cs b/Thronefall_v1.0/Decompile/Coinslot.cs new file mode 100644 index 0000000..4a505f1 --- /dev/null +++ b/Thronefall_v1.0/Decompile/Coinslot.cs @@ -0,0 +1,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(); + } +} |