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); }
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); }
// Allow other scripts to access this and set up references on game start void Awake() { Instance = this; photonView = GetComponent <PhotonView>(); }
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(); } }
void OnDestroy() { instance = null; }
void Awake() { instance = this; }
void Awake() { EffectsHandler.main = this; }