using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine.InputSystem;

[System.Serializable]
public class Weapons
{
    public bool isUseable;  // 공격 가능 여부
    public bool isUse;  // 공격중 여부

    public PlayerAttacks.Types WeaponType;  // 어느 무기인가?
    public int WeaponLevel;

    public int atkCnt;  // 공격 횟수
    public float WeaponDmg;  // 무기 데미지

    public GameObject weaponObj;
    public string animTrigger;  // 애니메이션 실행 트리거 이름
}

public class PlayerAttacks : MonoBehaviour
{
    private Animator animator;

    bool issAtk = false;   // 약공 플래그
    bool isaAtk = false;   // 강공 플래그
    public Weapons[] weaponInfos;
    Weapondata weaponBase;
    PlayerController2 playerController;

    public enum Types {scissor, needle, lighter};

    void Start()
    {
        //Animator 가져오기
        playerController = GetComponent<PlayerController2>();
        weaponBase = GetComponent<Weapondata>();
    }

    void Update()
    {

    }

   public IEnumerator ableAtk(int weaponIndex)
    {
        Debug.Log(" s 버튼 눌림! ");
        weaponInfos[weaponIndex].weaponObj.SetActive(true);
        animator = weaponInfos[weaponIndex].weaponObj.GetComponent<Animator>();
        animator.SetTrigger(weaponInfos[weaponIndex].animTrigger);

        yield return new WaitForSeconds(weaponBase.atkDuration);

        weaponInfos[weaponIndex].weaponObj.SetActive(false);

        yield return new WaitForSeconds(weaponBase.afterdelaytime); // 후 딜레이

        weaponInfos[weaponIndex].isUse = false;
    }
}
