public IEnumerator TestPlayerWithProjectileHit3() { GameObject gm = (GameObject)Instantiate(Resources.Load("Tests/gamemanager")); var playerPrefab = Resources.Load("Tests/player"); GameObject player = (GameObject)Instantiate(playerPrefab); int startHealth = 20; player.GetComponent <PlayerController> ().testMode = true; gm.GetComponent <GUIManager> ().playerController = player.GetComponent <PlayerController> (); NetworkServer.Listen(7777); yield return(new WaitForSeconds(2)); player.GetComponent <PlayerController> ().health = startHealth; ProjectilePatternFactory factory = gm.GetComponent <ProjectilePatternFactory> (); string pattern = "basicFireball"; Vector3 startPosition = new Vector3(5, 5, 0); Vector2 shootDirection = new Vector2(-1, -1); bool belongToPlayer = false; factory.projectileFactory = gm.GetComponent <ProjectileFactory> (); factory.createProjectilePattern(pattern, startPosition, shootDirection, belongToPlayer, player); GameObject projectile = GameObject.FindGameObjectWithTag("Projectile"); int damage = 19; projectile.GetComponent <ProjectileController> ().projectileDamage = damage; yield return(new WaitForSeconds(5)); GameObject newplayer = GameObject.FindGameObjectWithTag("Player"); int currHealth = newplayer.GetComponent <PlayerController> ().health; int expectedHealth = startHealth - damage; Assert.AreEqual(expectedHealth, currHealth); }
public void Start() { enemyScript = gameObject.GetComponent <Enemy>(); _animator = gameObject.GetComponent <Animator>(); projectilePatternFactory = GameManager.gm.gameObject.GetComponent <ProjectilePatternFactory>(); player = GameObject.FindGameObjectWithTag("Player"); spawnTime = 0f; enemyScript.moveSpeed = 0f; }
void Start() { hp = maxHp; gameManager = GameManager.gm.gameObject; //var test1 = GameManager.gm; projectilePatternFactory = gameManager.GetComponent <ProjectilePatternFactory>(); //projectilePatternFactory = GameManager.gm.GetComponent<ProjectilePatternFactory>(); CreateHealthBar(); startPosition = this.transform.position; chaseCooldownCount = 0f; }
[UnityTest] /*1 Projectile to enemeyBat: enemyBat Hp=7? true;*/ public IEnumerator ProjectTileLength3() { NetworkServer.Listen(7777); GameObject gm = Instantiate(Resources.Load("Tests/GameManager")) as GameObject; ProjectilePatternFactory factory = gm.GetComponent <ProjectilePatternFactory> (); string pattern = "basicFireball"; Vector3 startPosition = new Vector3(0, 0, 0); Vector2 shootDirection = new Vector2(0, 0); bool belongToPlayer = false; factory.projectileFactory = gm.GetComponent <ProjectileFactory> (); factory.createProjectilePattern(pattern, startPosition, shootDirection, belongToPlayer, null); yield return(new WaitForSeconds(1)); GameObject[] projectilesSpawned = GameObject.FindGameObjectsWithTag("Projectile"); Assert.AreEqual(1, projectilesSpawned.Length); }
void spawnProjectile() { if (player == null) { player = GameObject.FindGameObjectWithTag("Player"); } if (projectilePatternFactory == null) { projectilePatternFactory = GameManager.gm.gameObject.GetComponent <ProjectilePatternFactory>(); } string pattern; if (Time.time >= spawnTime && patterns.Length > 0 && player != null) { int rand = Random.Range(0, patterns.Length); pattern = patterns [rand]; Vector2 shootDirection = player.transform.position - transform.position; projectilePatternFactory.createProjectilePattern(pattern, transform.position, shootDirection, false, this.gameObject); } spawnTime = Time.time + cooldownTime; }
// Update is called once per frame void Update() { //Initiate gm if it has not been initiated if (projectilePatternFactory == null) { gameManager = GameManager.gm.gameObject; projectilePatternFactory = gameManager.GetComponent <ProjectilePatternFactory> (); CreateHealthBar(); } float distanceFromStartPosition = Vector3.Magnitude(this.transform.position - startPosition); if (chasePlayer && isNearPlayer() && distanceFromStartPosition <= maxChaseDistance && chaseCooldownCount <= 0) { ChasePlayer(); } else { if (distanceFromStartPosition > maxChaseDistance) { chaseCooldownCount = dontChaseForSeconds; } if (chaseCooldownCount > 0) { chaseCooldownCount -= Time.deltaTime; } if (chasingPlayer) { chasingPlayer = false; } if (Time.time >= moveTime) { EnemyMovement(); } else { _animator.SetBool("Moving", false); } } if (Time.time >= spawnTime) { if (randomProjectile) { spawnProjectile(); } else { spawnProjectile(count); count++; } } // update position of the health bar to follow the enemy Vector3 TransformedPos = new Vector3((float)0, (float)0.7, (float)0); Vector3 RectBoxPos = Camera.main.WorldToScreenPoint(transform.position + TransformedPos); EnemyHealthBar.transform.position = RectBoxPos; // update the health bar to show current health of enemy float enemyhealth = hp * 1.0f / maxHp; EnemyHealthBar.GetComponent <Slider>().value = enemyhealth; }