コード例 #1
0
    // Use this for initialization
    void Start()
    {
        State  = EnemyState.PATROL;
        Player = PlayerManager.instance.Player.transform;

        _anim = GetComponent <Animator>();
        _anim.SetFloat("Health", Health);
        _rend = gameObject.GetComponent <SpriteRenderer>();

        shaderGUItext        = Shader.Find("GUI/Text Shader");
        shaderSpritesDefault = Shader.Find("Sprites/Default");

        combatScript = GetComponent <EnemyCombatScript>();
    }
コード例 #2
0
    public void SpawnRandomEnemy(int level)
    {
        GameObject newEnemy;

        if (!underwater)
        {
            newEnemy = Instantiate(terranEnemies[NextInt(terranEnemies.Count - 1)]);
        }
        else
        {
            newEnemy = Instantiate(waterEnemies[NextInt(waterEnemies.Count - 1)]);
        }
        EnemyCombatScript combatScript = newEnemy.GetComponent <EnemyCombatScript>();

        combatScript.level = level;
        combatScript.AdjustStatsForLevel();
        newEnemy.transform.position = transform.position;
    }
コード例 #3
0
    public void ProcessHit(EnemyCombatScript enemy)
    {
        int enemyDamage = NormalDistribution.CalculateNormalDistRandom(enemy.damage, enemy.deviation);

        if (enemy.crit)
        {
            TakeDamage(enemyDamage * 2, Color.red);
            enemy.crit = false;
        }
        else
        {
            TakeDamage(enemyDamage);
        }

        if (!blocking)
        {
            movementScript.Pushback(enemy.DirectionPointingToPlayer());
        }
        else
        {
            enemy.PushbackShield();
        }
    }