Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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);
    }
Ejemplo n.º 5
0
    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;
    }
Ejemplo n.º 6
0
    // 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;
    }