// Use this for initialization
    void Start()
    {
        waitTime = 0.02f;

        scene     = Singleton_Service.GetSingleton <SceneController>();
        player    = Singleton_Service.GetSingleton <Player>();
        rightHand = Singleton_Service.GetSingleton <RightHand>();
        leftHand  = Singleton_Service.GetSingleton <LeftHand>();
        music     = Singleton_Service.GetSingleton <GameMusic>();

        swordSource     = rightHand.GetSword().GetComponent <AudioSource>();
        swordAud        = rightHand.GetSword().GetComponent <SwordAudio>();
        shieldSource    = leftHand.GetShield().GetComponent <AudioSource>();
        shieldAud       = leftHand.GetShield().GetComponent <ShieldAudio>();
        playerHitSource = player.GetComponent <AudioSource>();
        playerHitAud    = player.GetComponent <PlayerHitAudio>();


        playerAttack  = player.GetAttack();
        playerDefense = player.GetDefense();

        anim = GetComponent <Animator>();



        UpdateEnemyUI();

        EnemyInit();
        StartCoroutine("Updating");
        currentState = idleState;
        currentState.StartState();
    }