예제 #1
0
    IEnumerator LoadStats()
    {
        yield return(new WaitUntil(() => enemyStats.isLoaded == true));

        animalName   = enemyStats.AnimalName;
        currentHp    = enemyStats.MaxHealth;
        moveType     = enemyStats.MoveType;
        animalName   = enemyStats.AnimalName;
        moveAmount   = enemyStats.MoveAmount;
        moveSpeed    = enemyStats.MoveSpeed;
        moveDelay    = enemyStats.MoveDelay;
        atk          = enemyStats.Atk;
        attackType   = enemyStats.AttackType;
        weapon       = enemyStats.Weapon;
        noOfShots    = enemyStats.Shots;
        atkRange     = enemyStats.AtackRange;
        atkSpeed     = enemyStats.AtkSpeed;
        targetDelay  = enemyStats.TargetDelay;
        exp          = enemyStats.Exp;
        reward       = enemyStats.Reward;
        hpReward     = enemyStats.HpReward;
        sprite       = enemyStats.Sprite;
        size         = enemyStats.Size;
        moveAbility  = enemyStats.MoveAbility;
        shootAbility = enemyStats.ShootAbility;

        enemySprite.spriteName = sprite;
        spawnPos           = transform.position;
        healthSlider.value = currentHp / (float)enemyStats.MaxHealth;
        isAlive            = true;
        yield return(new WaitForSeconds(0.2f));//Break so that everything can be loaded first

        enemyChaser.Init();
        shooter.Init(weapon, this, motor, projectilePrefab, gunEnd);
        motor.Init(this, enemyCollider);
        yield return(new WaitForSeconds(1.8f));

        DoANewThing = true;
    }