Пример #1
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     ai             = animator.GetComponent <Trex>();
     perception     = animator.GetComponent <Perception>();
     shootTimer     = ai.attackCooldown;
     aiProjectile   = ai.projectile;
     rigidbody      = ai.GetComponent <Rigidbody2D>();
     spriteRenderer = ai.GetComponent <SpriteRenderer>();
     aimOrigin      = ai.aimOrigin;
 }
Пример #2
0
    void Shoot()
    {
        GameObject spawnedProjectile = Instantiate(projectilePrefab, transform);

        spawnedProjectile.transform.localPosition = Vector3.zero;
        spawnedProjectile.transform.localRotation = Quaternion.identity;
        spawnedProjectile.transform.parent        = null;

        AIProjectile aiProjectile = spawnedProjectile.GetComponent <AIProjectile>();

        aiProjectile.Setup();
    }
Пример #3
0
    void Shoot()
    {
        if (perception.targetTransform == null)
        {
            return;
        }

        AIProjectile projectile = Instantiate(aiProjectile, firingPos, aimOrigin.rotation);

        projectile.InitialiseProjectile(ai.attackDamage, directionToTarget, ai.projectileForce, ai.attackRange);

        if (SoundManager.instance != null)
        {
            SoundManager.instance.PlaySFX("SFX_AILaser");
        }
    }
Пример #4
0
    private void OnTriggerEnter2D(Collider2D col)
    {
        switch (col.tag)
        {
        case "HealthPickup":
            HealthPickup healthPickup = col.GetComponent <HealthPickup>();

            ModifyHealth(healthPickup.healthBoost);
            ModifyShield(healthPickup.shieldBoost);

            Destroy(col.gameObject);
            break;

        case "EnemyProjectile":
            AIProjectile aiProjectile = col.GetComponent <AIProjectile>();
            ModifyShield(-aiProjectile.projectileData.damage);

            Destroy(aiProjectile.gameObject);
            break;
        }
    }