Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- [RequireComponent(typeof(Animator))]
- public class EquipableItem : MonoBehaviour
- {
- public Animator animator;
- public bool swingWait = false;
- // Start is called before the first frame update
- void Start()
- {
- animator = GetComponent<Animator>();
- }
- // Update is called once per frame
- void Update()
- {
- if (Input.GetMouseButtonDown(0) && // Left Mouse Button
- InventorySystem.Instance.isOpen == false &&
- CraftingSystem.Instance.isOpen == false &&
- SelectionManager.Instance.handIsVisible == false &&
- swingWait == false &&
- !ConstructionManager.Instance.inConstructionMode
- )
- {
- // wait for the swing to complete, before allowing another swing
- swingWait = true;
- StartCoroutine(SwingSoundDelay());
- animator.SetTrigger("hit");
- StartCoroutine(NewSwingDelay());
- }
- }
- public void GetHit()
- {
- GameObject selectedTree = SelectionManager.Instance.selectedTree;
- if (selectedTree != null)
- {
- SoundManager.Instance.PlaySound(SoundManager.Instance.treeChopSound); //changed audio for personal preference
- selectedTree.GetComponent<ChoppableTree>().GetHit();
- }
- }
- IEnumerator SwingSoundDelay()
- {
- yield return new WaitForSeconds(0.45f); //changed time due to my audio clip
- SoundManager.Instance.PlaySound(SoundManager.Instance.toolSwingSound);
- }
- IEnumerator NewSwingDelay()
- {
- yield return new WaitForSeconds(1f); // This delay is hardcoded for the axe
- swingWait = false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement