public async Task AsyncUpdate()
    {
        await Task.Delay(1000);

        while (!fightFinish)
        {
            await Task.Delay(1000);

            await EntityPlay.YourTurn();

            entityTurn = entityTurn == EntityMotor.Entity.player ? EntityMotor.Entity.enemy : EntityMotor.Entity.player;
        }
        Debug.Log("Game Over");
        await Task.Delay(1000);

        if (((EnemyControler)enemy.controler).enemyData == boss)
        {
            GameManager.instance.LoadRealGameOver();
        }
        else if (player.life == 0)
        {
            GameManager.instance.GameOver();
        }
        else
        {
            StartCoroutine(LoadMainScene());
        }
    }
 void OnEnable()
 {
     if (FightData.instance == null)
     {
         return;
     }
     entityTurn = EntityMotor.Entity.player;
     player.Init();
     enemy.Init();
     fightFinish = false;
     AsyncTask.MonitorTask(AsyncUpdate());
 }