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)); } } }
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); } } }
private void OnTriggerEnter2D(Collider2D other) { // Debug.Log("Collision:" + other); damageenemyLaser damageDealer = other.gameObject.GetComponent <damageenemyLaser>(); if (damageDealer != null) { ProcessHit(damageDealer); } }
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); } }