Created throw hammer animation with no hammer skinning

This commit is contained in:
2023-06-29 12:47:09 +03:00
parent da82aa478c
commit 7510e69eb8
16 changed files with 12649 additions and 2843 deletions
+31 -5
View File
@@ -7,7 +7,12 @@ public class Player : Character
[SerializeField]
private GameObject _hammerPrefab;
private int _hammerSpeed = 10;
[SerializeField]
private Sprite _regularSprite;
[SerializeField]
private Sprite _noHammerSprite;
private int _hammerSpeed = 5;
private int _totalCoins = 0;
private bool _hasKey = false;
@@ -15,6 +20,9 @@ public class Player : Character
private GameObject _hammer;
private bool _isHoldingHammer = true;
private SpriteRenderer _spriteRenderer;
private void Awake()
{
@@ -27,6 +35,8 @@ public class Player : Character
PlayerPrefs.SetString("lastExitName", string.Empty);
Instance = this;
DontDestroyOnLoad(gameObject);
_spriteRenderer = GetComponentInChildren<SpriteRenderer>();
}
public void AddCoin()
@@ -53,15 +63,31 @@ public class Player : Character
private void Update()
{
if (_hammer == null && !_isHoldingHammer)
{
_spriteRenderer.sprite = _regularSprite;
_isHoldingHammer = true;
}
if (Input.GetKeyDown(KeyCode.Space) && !_isFalling)
{
if (_hammer == null)
{
_hammer = Instantiate(_hammerPrefab, _hammerSpawnPoint.position, _hammerSpawnPoint.rotation);
_hammer.transform.localScale = new Vector2(_hammer.transform.localScale.x * (_facingRight ? 1 : -1), _hammer.transform.localScale.y);
_hammer.GetComponent<Rigidbody2D>().velocity = new Vector2(gameObject.transform.localScale.x * _hammerSpeed, 0);
_animator.SetTrigger("Body_ThrowHammer");
}
}
base.MoveTo(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
base.MoveTo(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
}
}
public void ThrowHammerObject()
{
_isHoldingHammer = false;
_spriteRenderer.sprite = _noHammerSprite;
_hammer = Instantiate(_hammerPrefab, _hammerSpawnPoint.position, _hammerSpawnPoint.rotation);
_hammer.transform.localScale = new Vector2(_hammer.transform.localScale.x * (_facingRight ? 1 : -1), _hammer.transform.localScale.y);
_hammer.GetComponent<Rigidbody2D>().velocity = new Vector2(gameObject.transform.localScale.x * _hammerSpeed, 0);
}
}