diff options
author | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-11-26 23:52:30 +0800 |
commit | 626381f061cde0c78564f6336e3131835cf20a5b (patch) | |
tree | d9991d6eda6ae5d7649ac91ecaa3b4dc833cd4c3 /Assembly_CSharp/Obelisk.cs | |
parent | 0e63c4a2c6dec8dfa260501fb7d73750261ea7b7 (diff) |
* move
Diffstat (limited to 'Assembly_CSharp/Obelisk.cs')
-rw-r--r-- | Assembly_CSharp/Obelisk.cs | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/Assembly_CSharp/Obelisk.cs b/Assembly_CSharp/Obelisk.cs deleted file mode 100644 index 549f3b4..0000000 --- a/Assembly_CSharp/Obelisk.cs +++ /dev/null @@ -1,99 +0,0 @@ -using UnityEngine; - -public class Obelisk : Tower -{ - [SerializeField] - private GameObject beam; - - [SerializeField] - private AudioSource audioS; - - private bool soundPlaying; - - private IDamageable lastThingIHit; - - private float timeOnTarget; - - protected override void Update() - { - if (currentTarget != null) - { - if (turret != null) - { - AimTurret(); - } - GainXP(); - } - else - { - beam.SetActive(value: false); - PlaySound(onOff: false); - } - timeSinceLastShot += Time.deltaTime; - if (currentTarget != null && timeSinceLastShot > rps) - { - Fire(); - timeSinceLastShot = 0f; - } - } - - protected override void Fire() - { - if (consumesMana) - { - int manaCost = (int)((float)base.damage * manaConsumptionRate); - if (!ResourceManager.instance.CheckMana(manaCost)) - { - beam.SetActive(value: false); - PlaySound(onOff: false); - return; - } - ResourceManager.instance.SpendMana(manaCost); - } - DealDamage(); - } - - protected override void AimTurret() - { - Vector3 forward = currentTarget.transform.position - turret.transform.position + Vector3.up * 0.5f; - Quaternion rotation = Quaternion.LookRotation(forward, Vector3.up); - turret.transform.rotation = rotation; - beam.transform.localScale = new Vector3(1f, 1f, forward.magnitude); - } - - private void DealDamage() - { - IDamageable component = currentTarget.GetComponent<IDamageable>(); - if (component != null) - { - if (component == lastThingIHit) - { - timeOnTarget += rps; - } - else - { - timeOnTarget = 0f; - lastThingIHit = component; - } - int num = Mathf.Clamp(Mathf.FloorToInt(timeOnTarget * TowerManager.instance.obeliskTimeOnTargetMultiplier), 0, base.damage); - component.TakeDamage(towerType, base.damage + num, base.healthDamage, base.armorDamage, base.shieldDamage, base.slowPercent, base.bleedPercent, base.burnPercent, base.poisonPercent, base.critChance, base.stunChance); - beam.SetActive(value: true); - PlaySound(onOff: true); - } - } - - private void PlaySound(bool onOff) - { - if (onOff && !soundPlaying) - { - audioS.volume = OptionsMenu.instance.masterVolume * OptionsMenu.instance.sfxVolume; - audioS.Play(); - soundPlaying = true; - } - else if (!onOff && soundPlaying) - { - audioS.Stop(); - soundPlaying = false; - } - } -} |