public MonsterPM(IGameMonster i_monster) : base(i_monster) { mMonster = i_monster; SetIdProperty(); UpdateProperties(); }
private void CreateMonsterView(IGameMonster i_monster) { GameObject monsterObject = gameObject.InstantiateUI(MonsterViewPrefab, gameObject); MonsterView monsterView = monsterObject.GetComponent <MonsterView>(); monsterView.Init(new MonsterPM(i_monster)); }
public int GetDamageFromMonster(IGameMonster i_monster, IGamePlayer i_player) { int monsterAttack = i_monster.AttackPower; int playerDefense = i_player.GetDefenseForType(i_monster.AttackType); return(Mathf.Max(1, monsterAttack - playerDefense)); }
private IGameMonster GetMockMonsterWithIsDead(bool i_isDead) { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.IsDead().Returns(i_isDead); return(mockMonster); }
private IGameMonster GetMockMonsterWithMatchCombo(bool i_doesMatch) { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.DoesMatchCombo(Arg.Any <List <IGamePiece> >()).Returns(i_doesMatch); return(mockMonster); }
public void WhenAddingMonster_MonsterIsAddedToList() { MonsterWaveData systemUnderTest = new MonsterWaveData(); IGameMonster mockMonster = Substitute.For <IGameMonster>(); systemUnderTest.AddMonster(mockMonster); Assert.Contains(mockMonster, systemUnderTest.Monsters); }
public void WhenModelUpdated_IfMonsterIsDead_DestroyPropertyIsTrue() { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.IsDead().Returns(false); MonsterPM systemUnderTest = new MonsterPM(mockMonster); mockMonster.IsDead().Returns(true); mockMonster.ModelUpdated += Raise.Event <ModelUpdateHandler>(); Assert.AreEqual(true, systemUnderTest.ViewModel.GetPropertyValue <bool>(MonsterPM.DESTROY_PROPERTY)); }
private IGameMonster GetMockMonsterWithComboLength(int i_length) { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.AttackCombo = new List <int>(); for (int i = 0; i < i_length; ++i) { mockMonster.AttackCombo.Add(i); } return(mockMonster); }
public void GetMaxLength_ReturnsLengthOfLongestCombo() { IGameMonster monster1 = GetMockMonsterWithComboLength(7); IGameMonster monster2 = GetMockMonsterWithComboLength(1); IGameMonster monster3 = GetMockMonsterWithComboLength(3); systemUnderTest.CurrentMonsters = new List <IGameMonster>() { monster1, monster2, monster3 }; Assert.AreEqual(7, systemUnderTest.GetLongestCombo()); }
public void FillCurrentMonstersFromRemainingMonsters() { int monstersToAdd = GetNumberOfMissingCurrentMonsters(); for (int i = 0; i < monstersToAdd; ++i) { if (RemainingMonsters.Count > 0) { IGameMonster monsterToAdd = RemainingMonsters[0]; CurrentMonsters.Add(monsterToAdd); RemainingMonsters.RemoveAt(0); } } }
public void GetDamageFromMonster_ReturnsAsExpected(int i_monsterAttack, int i_playerDefenseForType, int i_expectedDamage) { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.AttackPower.Returns(i_monsterAttack); IGamePlayer mockPlayer = Substitute.For <IGamePlayer>(); mockPlayer.GetDefenseForType(Arg.Any <int>()).Returns(i_playerDefenseForType); DamageCalculator systemUnderTest = new DamageCalculator(); int damageTaken = systemUnderTest.GetDamageFromMonster(mockMonster, mockPlayer); Assert.AreEqual(i_expectedDamage, damageTaken); }
public void WhenModelUpdated_PropertiesAsExpected() { IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.RemainingHP = 100; mockMonster.GetAttackProgress().Returns(.1f); MonsterPM systemUnderTest = new MonsterPM(mockMonster); Assert.AreEqual(100, systemUnderTest.ViewModel.GetPropertyValue <int>(MonsterPM.HP_PROPERTY)); Assert.AreEqual(.1f, systemUnderTest.ViewModel.GetPropertyValue <float>(MonsterPM.ATTACK_PROGRESS_PROPERTY)); mockMonster.RemainingHP = 50; mockMonster.GetAttackProgress().Returns(.2f); mockMonster.ModelUpdated += Raise.Event <ModelUpdateHandler>(); Assert.AreEqual(50, systemUnderTest.ViewModel.GetPropertyValue <int>(MonsterPM.HP_PROPERTY)); Assert.AreEqual(.2f, systemUnderTest.ViewModel.GetPropertyValue <float>(MonsterPM.ATTACK_PROGRESS_PROPERTY)); }
public void DeadMonstersGetRemovedFromCurrentList() { IGameMonster mock1 = GetMockMonsterWithIsDead(true); IGameMonster mock2 = GetMockMonsterWithIsDead(false); IGameMonster mock3 = GetMockMonsterWithIsDead(false); IGameMonster mock4 = GetMockMonsterWithIsDead(true); List <IGameMonster> mockCurrentMonsters = new List <IGameMonster>() { mock1, mock2, mock3, mock4 }; systemUnderTest.CurrentMonsters = mockCurrentMonsters; systemUnderTest.RemoveDeadMonstersFromCurrentList(); Assert.AreEqual(2, systemUnderTest.CurrentMonsters.Count); Assert.Contains(mock2, systemUnderTest.CurrentMonsters); Assert.Contains(mock3, systemUnderTest.CurrentMonsters); }
public void WhenCreating_PropertiesSetAsExpected() { List <int> mockAttackCombo = new List <int>() { 1, 2, 3 }; IGameMonster mockMonster = Substitute.For <IGameMonster>(); mockMonster.Id.Returns("Blob"); mockMonster.RemainingHP = 100; mockMonster.GetAttackProgress().Returns(.1f); mockMonster.AttackCombo = mockAttackCombo; MonsterPM systemUnderTest = new MonsterPM(mockMonster); Assert.AreEqual("Blob", systemUnderTest.ViewModel.GetPropertyValue <string>(MonsterPM.ID_PROPERTY)); Assert.AreEqual(100, systemUnderTest.ViewModel.GetPropertyValue <int>(MonsterPM.HP_PROPERTY)); Assert.AreEqual(.1f, systemUnderTest.ViewModel.GetPropertyValue <float>(MonsterPM.ATTACK_PROGRESS_PROPERTY)); Assert.AreEqual(mockAttackCombo, systemUnderTest.AttackCombo); Assert.AreEqual(false, systemUnderTest.ViewModel.GetPropertyValue <bool>(MonsterPM.DESTROY_PROPERTY)); }
public void OnAttacked(IGameMonster i_monster) { int damageTaken = mDamageCalculator.GetDamageFromMonster(i_monster, this); AlterHP(-damageTaken); }
public void AddMonster(IGameMonster i_monster) { mMonsters.Add(i_monster); }