public void CheckForIceTowerOnDryClothCreep()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Ice, creep);
     Assert.IsFalse(creep.State.Wet);
     Assert.IsFalse(creep.State.Burst);
     Assert.IsFalse(creep.State.Burn);
 }
예제 #2
0
 public static void CheckCreepState(TowerType type, Creep creep)
 {
     if (creep.Type == CreepType.Cloth)
     {
         ClothCreepStateChanger.ChangeStatesIfClothCreep(type, creep);
     }
     else if (creep.Type == CreepType.Sand)
     {
         SandCreepStateChanger.ChangeStatesIfSandCreep(type, creep);
     }
     else if (creep.Type == CreepType.Glass)
     {
         GlassCreepStateChanger.ChangeStatesIfGlassCreep(type, creep);
     }
     else if (creep.Type == CreepType.Wood)
     {
         WoodCreepStateChanger.ChangeStatesIfWoodCreep(type, creep);
     }
     else if (creep.Type == CreepType.Plastic)
     {
         PlasticCreepStateChanger.ChangeStatesIfPlasticCreep(type, creep);
     }
     else if (creep.Type == CreepType.Iron)
     {
         IronCreepStateChanger.ChangeStatesIfIronCreep(type, creep);
     }
     else if (creep.Type == CreepType.Paper)
     {
         PaperCreepStateChanger.ChangeStatesIfPaperCreep(type, creep);
     }
 }
        public void NonClothCreepsShouldBeIgnored()
        {
            var glassCreep = new Creep(CreepType.Glass, Vector3D.Zero);

            ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Acid, glassCreep);
            Assert.AreEqual(creep.State.Wet, glassCreep.State.Wet);
        }
 public void ApplyIceThenFireToClothCreep()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Ice, creep);
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Fire, creep);
     Assert.IsFalse(creep.State.Slow);
     Assert.IsFalse(creep.State.Fast);
 }
 public void CheckForImpactTowerOnFrozenClothCreep()
 {
     Randomizer.Use(new FixedRandom(new[] { 0f }));
     creep.State.Frozen = true;
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Impact, creep);
     Assert.IsTrue(creep.State.Frozen);
 }
 public void CheckForWaterTowerOnDryClothCreep()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Water, creep);
     Assert.IsFalse(creep.State.Frozen);
     Assert.IsFalse(creep.State.Burst);
     Assert.IsFalse(creep.State.Burn);
     Assert.IsTrue(creep.State.Wet);
     Assert.AreEqual(0, creep.State.WetTimer);
     Assert.AreEqual(Vulnerability.Resistant,
                     creep.State.GetVulnerability(TowerType.Fire));
     Assert.AreEqual(Vulnerability.HardBoiled,
                     creep.State.GetVulnerability(TowerType.Impact));
     Assert.AreEqual(Vulnerability.Weak,
                     creep.State.GetVulnerability(TowerType.Ice));
 }
 public void CheckForFireTowerWetClothCreep()
 {
     creep.State.Wet = true;
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Fire, creep);
     Assert.IsFalse(creep.State.Wet);
     Assert.AreEqual(Vulnerability.HardBoiled,
                     creep.State.GetVulnerability(TowerType.Impact));
     Assert.AreEqual(Vulnerability.HardBoiled,
                     creep.State.GetVulnerability(TowerType.Ice));
     Assert.AreEqual(Vulnerability.Weak,
                     creep.State.GetVulnerability(TowerType.Slice));
     Assert.AreEqual(Vulnerability.Vulnerable,
                     creep.State.GetVulnerability(TowerType.Acid));
     Assert.AreEqual(Vulnerability.Vulnerable,
                     creep.State.GetVulnerability(TowerType.Fire));
 }
 public void CheckForIceTowerOnWetClothCreep()
 {
     creep.State.Wet = true;
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Ice, creep);
     Assert.IsTrue(creep.State.Frozen);
     Assert.IsTrue(creep.State.Paralysed);
     Assert.AreEqual(0, creep.State.FrozenTimer);
     Assert.AreEqual(Vulnerability.Resistant,
                     creep.State.GetVulnerability(TowerType.Slice));
     Assert.AreEqual(Vulnerability.Resistant,
                     creep.State.GetVulnerability(TowerType.Water));
     Assert.AreEqual(Vulnerability.Vulnerable,
                     creep.State.GetVulnerability(TowerType.Impact));
     Assert.AreEqual(Vulnerability.Immune,
                     creep.State.GetVulnerability(TowerType.Fire));
 }
 public void CheckForFireTowerOnDryClothCreep()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Fire, creep);
     Assert.IsTrue(creep.State.Burst);
     Assert.AreEqual(0, creep.State.BurstTimer);
 }
 public void CheckForAcidTowerEffect()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Acid, creep);
     Assert.IsTrue(creep.State.Enfeeble);
     Assert.AreEqual(0, creep.State.EnfeebleTimer);
 }
 public void ChecForkWaterTowerEffect()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Water, creep);
     Assert.IsTrue(creep.State.Slow);
     Assert.AreEqual(0, creep.State.SlowTimer);
 }
 public void CheckForIceTowerEffect()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Ice, creep);
     Assert.IsTrue(creep.State.Slow);
     Assert.AreEqual(-1, creep.State.SlowTimer);
 }
 public void ApplyFireThenWaterToClothCreep()
 {
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Fire, creep);
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Water, creep);
     Assert.IsFalse(creep.State.Fast);
 }
 public void CheckForIceTowerOnFrozenClothCreep()
 {
     creep.State.Frozen = true;
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Ice, creep);
 }
 public void CheckForWaterTowerOnFrozenClothCreep()
 {
     creep.State.Frozen = true;
     ClothCreepStateChanger.ChangeStatesIfClothCreep(TowerType.Water, creep);
     Assert.IsTrue(creep.State.Frozen);
 }