diff options
| author | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
| commit | c5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch) | |
| tree | a6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /GameCode/PlayerAttackTargetFacer.cs | |
| parent | 48b64e573a1709dc923cb9162b55be0246b3ff63 (diff) | |
* move
Diffstat (limited to 'GameCode/PlayerAttackTargetFacer.cs')
| -rw-r--r-- | GameCode/PlayerAttackTargetFacer.cs | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/GameCode/PlayerAttackTargetFacer.cs b/GameCode/PlayerAttackTargetFacer.cs deleted file mode 100644 index 6692d49..0000000 --- a/GameCode/PlayerAttackTargetFacer.cs +++ /dev/null @@ -1,66 +0,0 @@ -using UnityEngine; - -public class PlayerAttackTargetFacer : MonoBehaviour -{ - public Transform targetTransform; - - public ManualAttack attack; - - public float maxRotationDelta = 360f; - - public float lookBackTime = 0.4f; - - private Vector3 desiredForwardVector; - - private Quaternion desiredRotation = Quaternion.identity; - - private float lookClock; - - private bool shouldReset; - - public void AssignAttack(ManualAttack _attack) - { - attack = _attack; - attack.onAttack.AddListener(UpdateTarget); - if (attack.cooldownTime <= lookBackTime) - { - lookBackTime = attack.cooldownTime + 0.05f; - } - } - - private void UpdateTarget() - { - if (!(attack.LastTargetPos == Vector3.zero)) - { - desiredForwardVector = attack.LastTargetPos - targetTransform.position; - desiredForwardVector.y = 0f; - desiredForwardVector.Normalize(); - desiredRotation = Quaternion.LookRotation(desiredForwardVector, Vector3.up); - lookClock = lookBackTime; - } - } - - private void Update() - { - if (lookClock >= 0f) - { - lookClock -= Time.deltaTime; - if (!targetTransform.rotation.Equals(desiredRotation)) - { - targetTransform.rotation = Quaternion.RotateTowards(targetTransform.rotation, desiredRotation, maxRotationDelta * Time.deltaTime); - } - if (lookClock <= 0f) - { - shouldReset = true; - } - } - else if (shouldReset) - { - targetTransform.rotation = Quaternion.RotateTowards(targetTransform.rotation, targetTransform.parent.rotation, maxRotationDelta * Time.deltaTime); - if (targetTransform.rotation.Equals(targetTransform.parent.rotation)) - { - shouldReset = false; - } - } - } -} |
