using System; using UnityEngine; public class HammerThrower : MonoBehaviour { [SerializeField] private Transform _spawnPoint; [SerializeField] private GameObject _hammerPrefab; [SerializeField] private float _throwSpeed = 10f; private GameObject _currentHammer; private bool _hasHammer = true; private bool _facingRight = true; public bool HasHammer => _hasHammer; public void SetFacingDirection(bool facingRight) { _facingRight = facingRight; } public void ThrowHammer() { if (!_hasHammer) return; _hasHammer = false; _currentHammer = Instantiate(_hammerPrefab, _spawnPoint.position, _spawnPoint.rotation); float direction = _facingRight ? 1f : -1f; var rb = _currentHammer.GetComponent(); rb.linearVelocity = new Vector2(direction * _throwSpeed, 0); // Flip hammer visually var scale = _currentHammer.transform.localScale; scale.x = Mathf.Abs(scale.x) * direction; _currentHammer.transform.localScale = scale; } private void Update() { // Hammer destroyed → hammer returned if (!_hasHammer && _currentHammer == null) { _hasHammer = true; } } }