Пример #1
0
    private void ProcessHit(damageenemyLaser damageDealer, int HitByLaser)
    {
        float aDamage;

        // Debug.Log("damageDealter:" + damageDealer);
        aDamage = damageDealer.GetDamage();
        //aDamage = 10f;
        health -= aDamage;
        damageDealer.Hit();
        if (health <= 00)
        {
            AudioSource.PlayClipAtPoint(bClip, Camera.main.transform.position);
            Destroy(gameObject);
            if (thisEnemyIndex >= 0)
            {
                agent.setEnemyActive(1, thisEnemyIndex, false); /* turn enemy to inactive*/
            }
            GameObject xExplode = Instantiate(explosion, transform.position,
                                              Quaternion.identity) as GameObject;
            Destroy(xExplode, 1f);
            if (HitByLaser == 1)
            {
                aKeepScore.addScore(enemyPoints); //also increment basic agent reward here.
            }
        }
        else /* lets give the player some points just for a hit.*/
        {
            if (HitByLaser == 1)
            {
                FindObjectOfType <keepScor>().addScore((int)((float)enemyPoints * aDamage / StartHealth));
            }
        }
    }
Пример #2
0
    private void ProcessHit(damageenemyLaser damageDealer)
    {
        float aDamage;

        AudioSource.PlayClipAtPoint(bClip, Camera.main.transform.position, aVolume);
        aDamage = damageDealer.GetDamage();
        health -= aDamage;

        damageDealer.Hit();
        if (health <= 00)
        {
            Debug.Log(1.0f / Time.deltaTime);
            // Destroy(gameObject);
            // Debug.Log("destroy player!");

            //GameObject.Find("gameScore").GetComponent<keepScor>().ResetGame();
            //FindObjectOfType<gameManage>().playerShot();
            health = StartHealth;
            aKeepScore.Resetcore();
            /* this will reset score and cause us to wait a couple seconds*/
            if (agent != null)
            {
                agent.IncrementReward(-0.2f);
            }
        }
        else
        {
            if (agent != null)
            {
                // agent.IncrementReward(-aDamage / StartHealth);
                agent.IncrementReward(-0.2f);
            }
        }
    }
Пример #3
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        // Debug.Log("Collision:" + other);
        damageenemyLaser damageDealer = other.gameObject.GetComponent <damageenemyLaser>();

        if (damageDealer != null)
        {
            ProcessHit(damageDealer);
        }
    }
Пример #4
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        int HitByLaser = 0;
        //Debug.Log("Collision:" + other);
        damageenemyLaser damageDealer = other.gameObject.GetComponent <damageenemyLaser>();

        if (other.name.Contains("playerLaser"))
        {
            HitByLaser = 1;
        }
        if (HitByLaser == 1 && damageDealer != null)
        {
            ProcessHit(damageDealer, HitByLaser);
        }
    }