using System; using UnityEngine; public class HammerThrower : MonoBehaviour { [SerializeField] private Transform _spawnPoint; [SerializeField] private GameObject _hammerPrefab; [SerializeField] private float _throwSpeed = 5f; 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; _currentHammer.transform.localScale = new Vector2(_currentHammer.transform.localScale.x * (_facingRight ? 1 : -1), _currentHammer.transform.localScale.y); _currentHammer.GetComponent().linearVelocity = new Vector2(gameObject.transform.localScale.x * _throwSpeed, 0); } private void Update() { // Hammer destroyed → hammer returned if (!_hasHammer && _currentHammer == null) { _hasHammer = true; } } }