Esempio n. 1
0
        public void HandleEffectTest(Effects effectToUse)
        {
            Player player = new();

            player.HpChange(200);
            player.effects.Add(effectToUse);
            foreach (Effects effect in player.effects)
            {
                EffectsHandler.HandleEffect(player, effect);
            }
            switch (effectToUse)
            {
            case Effects.None:
                break;

            case Effects.Poison:
                Assert.That(player.hp, Is.EqualTo(200 - 5));
                break;

            case Effects.Burning:
                Assert.That(player.hp, Is.EqualTo(200 - 10));
                break;

            case Effects.Frozen:
                Assert.That(player.hp, Is.EqualTo(200 - 7));
                break;

            case Effects.Paralyzed:
                break;
            }
        }
    private void Awake()
    {
        if ( instance == null ) {
            instance = this;

        } else if ( instance != this ) {
            Destroy(gameObject);

        }

        DontDestroyOnLoad(gameObject);
    }
Esempio n. 3
0
    public void SpawnEnemies(int enemyID, EnemyData.Type enemyType, List <Vector3> positions, Vector3 basePos)
    {
        MovingEnemy refEnemy = GetEnemyReference(enemyID);

        if (refEnemy != null)
        {
            int count = positions.Count;
            for (int i = 0; i < count; i++)
            {
                MovingEnemy newEnemy = (MovingEnemy)refEnemy.Create(transform, target);
                newEnemy.id = AddEnemy(newEnemy);
                newEnemy.gameObject.name = "enemy_" + newEnemy.GetDataId() + "_" + newEnemy.id;
                //newEnemy.SetAttackTimer(Random.Range(1f, 2f));
                newEnemy.SetAttackTimer(3f);
                newEnemy.EnterFromCarrier(basePos, positions[i], 0.5f);
            }
        }
        EffectsHandler.PlayPortal2(basePos);
    }
Esempio n. 4
0
 // Allow other scripts to access this and set up references on game start
 void Awake()
 {
     Instance   = this;
     photonView = GetComponent <PhotonView>();
 }
Esempio n. 5
0
    public void CheckHitEnemies()
    {
        if (!hero.IsAttacking())
        {
            return;
        }

        Vector3 pos     = hero.GetStrikePosition();
        Vector3 heroPos = hero.transform.position;
        int     hitId   = hero.GetHitId();

        hitList.Clear();
        for (int i = 0; i < objectList.Count; i++)
        {
            IEnemy enemyObj = objectList[i];
            if (enemyObj != null && enemyObj.IsAlive() && enemyObj.CheckHit(pos, hitId))
            {
                enemyObj.Hit();
                hitList.Add(enemyObj);
            }
        }

        if (hitList.Count == 0)
        {
            return;
        }

        hero.strikeHits += hitList.Count;
        SoundHandler.PlaySlash();

        int hitScores      = 0;
        int kills          = 0;
        int killScores     = 0;
        int killMultiplier = 1;

        int     bombs   = 0;
        Vector3 bombPos = Vector3.zero;

        for (int i = 0; i < hitList.Count; i++)
        {
            IEnemy hitEnemy = hitList[i];
            if (hitEnemy == null)
            {
                continue;
            }

            if (hitEnemy.IsBomb())
            {
                bombs++;
                bombPos = hitEnemy.GetPosition();
            }

            if (hitEnemy.IsAlive())
            {
                hitScores += hitEnemy.GetHitScore();
            }
            else
            {
                kills++;
                killScores += hitEnemy.GetKillScore();
                Vector3 enemyPos = hitEnemy.GetPosition();
                Vector3 dir      = enemyPos - heroPos;
                EffectsHandler.PlaySlash(enemyPos, dir);

                hitEnemy.Kill();
                RemoveEnemy(hitEnemy);
            }
        }
        hitList.Clear();

        if (kills >= 10)
        {
            killMultiplier = 5;
        }
        else if (kills >= 5)
        {
            killMultiplier = 3;
        }
        else if (kills >= 3)
        {
            killMultiplier = 2;
        }

        int totalScore = hitScores + killMultiplier * killScores;

        score += totalScore;

        results.score         += totalScore;
        results.enemiesKilled += kills;

        UIManager.GetInstance().UpdateScore(score);

        if (bombs > 0)
        {
            EffectsHandler.PlayBomb(bombPos);
            SoundHandler.GetInstance().PlayEnemySFX("bomb1");
            results.bombed = true;
            LostTheGirl();
        }
        else if (hero.strikeHits >= 10)
        {
            EffectsHandler.PlayCombo();
        }
    }
Esempio n. 6
0
 void OnDestroy()
 {
     instance = null;
 }
Esempio n. 7
0
 void Awake()
 {
     instance = this;
 }
 void Awake()
 {
     EffectsHandler.main = this;
 }