summaryrefslogtreecommitdiff
path: root/GameCode/AutoRevive.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-19 16:05:01 +0800
committerchai <215380520@qq.com>2024-05-19 16:05:01 +0800
commitc5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch)
treea6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /GameCode/AutoRevive.cs
parent48b64e573a1709dc923cb9162b55be0246b3ff63 (diff)
* move
Diffstat (limited to 'GameCode/AutoRevive.cs')
-rw-r--r--GameCode/AutoRevive.cs91
1 files changed, 0 insertions, 91 deletions
diff --git a/GameCode/AutoRevive.cs b/GameCode/AutoRevive.cs
deleted file mode 100644
index 63c2d75..0000000
--- a/GameCode/AutoRevive.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-using UnityEngine;
-using UnityEngine.Events;
-
-[RequireComponent(typeof(Hp))]
-public class AutoRevive : MonoBehaviour, DayNightCycle.IDaytimeSensitive
-{
- [HideInInspector]
- public UnityEvent onReviveTrigger = new UnityEvent();
-
- private Hp hp;
-
- public float reviveAfterBeingKnockedOutFor = 20f;
-
- private float hasBeenKnockedOutFor;
-
- private bool ringOfResurection;
-
- private bool quickReviveAvailable = true;
-
- private bool godOfDeathActive;
-
- [SerializeField]
- private Equippable ringOfResurectionPerk;
-
- private float ReviveAfterBeingKnockedOutFor
- {
- get
- {
- if (ringOfResurection && quickReviveAvailable)
- {
- return 2f;
- }
- return reviveAfterBeingKnockedOutFor;
- }
- }
-
- public float TimeTillRevive
- {
- get
- {
- if (hasBeenKnockedOutFor <= 0f)
- {
- return -1f;
- }
- return ReviveAfterBeingKnockedOutFor - hasBeenKnockedOutFor;
- }
- }
-
- public void OnDusk()
- {
- }
-
- public void OnDawn_AfterSunrise()
- {
- quickReviveAvailable = true;
- }
-
- public void OnDawn_BeforeSunrise()
- {
- }
-
- private void Start()
- {
- godOfDeathActive = PerkManager.instance.GodOfDeathActive;
- if (godOfDeathActive)
- {
- reviveAfterBeingKnockedOutFor *= PerkManager.instance.godOfDeath_playerRespawnMultiplyer;
- }
- hp = GetComponent<Hp>();
- ringOfResurection = PerkManager.IsEquipped(ringOfResurectionPerk);
- DayNightCycle.Instance.RegisterDaytimeSensitiveObject(this);
- }
-
- private void Update()
- {
- if (hp.KnockedOut)
- {
- hasBeenKnockedOutFor += Time.deltaTime;
- if (hasBeenKnockedOutFor >= ReviveAfterBeingKnockedOutFor)
- {
- hp.Revive();
- onReviveTrigger.Invoke();
- quickReviveAvailable = false;
- }
- }
- else
- {
- hasBeenKnockedOutFor = 0f;
- }
- }
-}