void FixedUpdate() { // Destroy self if player stops existing if (objectRefs.player == null) { Destroy(gameObject); } else { if (playerTongue == null) { playerTongue = objectRefs.player.GetComponent <SCR_Tongue>(); } // Rotate icon to always face camera transform.LookAt(objectRefs.playerCamera.transform, objectRefs.playerCamera.transform.up); target = playerTongue.currentTarget; if (target != null) { Targeting(); } else { NotTargeting(); } // Rotate icon 45 degrees if locked on target Color lockSpriteColor; if (playerTongue.lockedOnTarget && target != null) { iconAngleOffset = Mathf.Lerp(iconAngleOffset, -45, 0.6f); lockIcon.localScale = Vector3.Lerp(lockIcon.localScale, Vector3.one, 0.6f); lockIconSprite.color = new Color(lockIconSprite.color.r, lockIconSprite.color.g, lockIconSprite.color.b, 1); } else { iconAngleOffset = Mathf.Lerp(iconAngleOffset, 0, 0.6f); lockIcon.localScale = Vector3.Lerp(lockIcon.localScale, new Vector3(1.5f, 1.5f, 1.5f), 0.6f); lockIconSprite.color = new Color(lockIconSprite.color.r, lockIconSprite.color.g, lockIconSprite.color.b, 0); } transform.localEulerAngles += new Vector3(0, 0, iconAngleOffset); } }
private void Awake() { controls = new InputControls(); movement = GetComponentInParent <SCR_PlayerV3>(); tongue = GetComponentInParent <SCR_Tongue>(); }