示例#1
0
 public void CharacterCannotBeAddedToArenaWhenFloorNotBuilt()
 {
     var a = new Arena();
     var c = new Character();
     c.SetName("YoMomma");
     a.AddCharacterToArena(c);
 }
示例#2
0
 public void CannotEquipEquipmentIfCharacterDoesNotHaveEnoughFreeSlots()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     e.AddSlotType(new Hand());
     e.AddSlotType(new Hand());
     e.AddSlotType(new Hand());
     Assert.IsFalse(c.CanEquipEquipment(e));
 }
示例#3
0
        public void CharacterCanBeAddedToArena()
        {
            var a = new Arena();
            a.BuildArenaFloor(5);
            var c = new Character();
            c.SetName("YoMomma");
            a.AddCharacterToArena(c);

            Assert.IsTrue(a.Characters.Exists(i => i.Name == "YoMomma"));
        }
示例#4
0
 public void CharacterCanPerformAttackActionWhenWithinRange()
 {
     var c = new Character();
     c.SetCharacterLocation(0, 0);
     var o = new Character();
     o.SetCharacterLocation(1, 1);
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     var s = new TestHelpers.TestAttack();
     Assert.IsTrue(s.CanBePerformed(c, o));
 }
示例#5
0
 public void CharacterCannotPerformAttackWhenOutOfRange()
 {
     var c = new Character();
     c.SetCharacterLocation(0, 0);
     var o = new Character();
     o.SetCharacterLocation(10, 10);
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     var s = new TestHelpers.TestAttack();
     Assert.IsFalse(s.CanBePerformed(c, o));
 }
示例#6
0
 public void initialize(GameLogic.CharacterInstance characterInstance, GameLogic.Character character)
 {
     this.CharacterInstance = characterInstance;
     this.Character         = character;
     if ((characterInstance == null) && (character == null))
     {
         this.UpgradeButton.gameObject.SetActive(false);
         this.ProgressBar.gameObject.SetActive(true);
         this.ProgressBar.setNormalizedValue(0f);
         this.HeroButton.interactable = false;
         this.Bg.material             = this.m_greyscaleMaterial;
         this.Icon.sprite             = PlayerView.Binder.SpriteResources.getSprite("Menu", "avatar_hero001");
         this.Icon.material           = this.m_greyscaleMaterial;
         this.LevelIcon.material      = this.m_greyscaleMaterial;
         this.LevelText.text          = string.Empty;
     }
     else if (characterInstance != null)
     {
         this.UpgradeButton.gameObject.SetActive(true);
         this.ProgressBar.gameObject.SetActive(false);
         this.HeroButton.interactable = true;
         this.Bg.material             = null;
         this.Icon.sprite             = PlayerView.Binder.SpriteResources.getSprite("Menu", characterInstance.Character.AvatarSpriteId);
         this.Icon.material           = null;
         this.LevelIcon.material      = null;
         this.LevelText.text          = characterInstance.Rank.ToString();
     }
     else
     {
         this.UpgradeButton.gameObject.SetActive(false);
         this.ProgressBar.gameObject.SetActive(true);
         this.HeroButton.interactable = true;
         this.Bg.material             = this.m_greyscaleMaterial;
         this.Icon.sprite             = PlayerView.Binder.SpriteResources.getSprite("Menu", character.AvatarSpriteId);
         this.Icon.material           = this.m_greyscaleMaterial;
         this.LevelIcon.material      = this.m_greyscaleMaterial;
         this.LevelText.text          = string.Empty;
     }
 }
示例#7
0
 public void EquipEquipmentUpdatesCharacterEquipmentSlotsToUsed()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     e.AddSlotType(new Hand());
     c.EquipEquipment(e);
     Assert.IsTrue(c.Slots.Exists(x => !x.SlotFree && x.SlotEquipmentName == e.Name));
 }
示例#8
0
 public void EquipEquipmentAddsEquipmentToCharactersEquipment()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     Assert.IsTrue(c.CharacterEquipment.Exists(x => x == e));
 }
示例#9
0
 public void CharacterLocationCanBeSet()
 {
     var c = new Character();
     c.SetCharacterLocation(1, 2);
     Assert.IsTrue(c.CharacterLocation.XCoord == 1 && c.CharacterLocation.YCoord == 2);
 }
示例#10
0
 public void CanEquipEquipmentIfCharacterHasFreeSlots()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     Assert.IsTrue(c.CanEquipEquipment(e));
 }
示例#11
0
 public void UnEquipEquipmentRemovesEquipmentFromCharactersEquipment()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     c.UnEquipEquipment(e);
     Assert.IsFalse(c.CharacterEquipment.Exists(x => x == e));
 }
示例#12
0
 public void UnEquipEquipmentFreesCharactersEquipmentSlots()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     c.UnEquipEquipment(e);
     Assert.IsFalse(c.Slots.Exists(x => !x.SlotFree || x.SlotEquipmentName == e.Name));
 }
示例#13
0
 public void PlayerHasAvailableActionsFromEquippedEquipment()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     var e2 = new TestHelpers.TestWeapon2();
     c.EquipEquipment(e2);
     Assert.IsTrue(c.AvailableActions.Exists(i => i.Name == "Test Attack") && c.AvailableActions.Exists(i => i.Name == "Test Attack2"));
 }
示例#14
0
 public void PlayerAvailableActionsAreDistinct()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     c.EquipEquipment(e);
     c.EquipEquipment(e);
     Assert.IsTrue(c.AvailableActions.FindAll(i => i.Name == "Test Attack").Count == 1);
 }
示例#15
0
 public void EquipEquipmentWhenCharacterDoesNotHaveEnoughFreeSlotsThrowsException()
 {
     var c = new Character();
     var e = new TestHelpers.TestWeapon();
     e.AddSlotType(new Hand());
     e.AddSlotType(new Hand());
     e.AddSlotType(new Hand());
     c.EquipEquipment(e);
 }