示例#1
0
        public void removeBuffWhenInjureTest()
        {
            CardEngine game = new CardEngine(null, null, 0)
            {
                logger = new UnityLogger()
            };
            Card card = new Card(0);

            card.setLife(5);
            card.setCurrentLife(5);
            TestBuff buff = new TestBuff(new LifeModifier(3, true));

            card.addBuff(game, buff);
            Assert.AreEqual(3, card.getLife());
            Assert.AreEqual(3, card.getCurrentLife());
            card.removeBuff(game, buff);
            Assert.AreEqual(5, card.getLife());
            Assert.AreEqual(5, card.getCurrentLife());
            card.addBuff(game, buff);
            Assert.AreEqual(3, card.getLife());
            Assert.AreEqual(3, card.getCurrentLife());
            //不满血
            card.setCurrentLife(1);
            card.removeBuff(game, buff);
            Assert.AreEqual(5, card.getLife());
            Assert.AreEqual(1, card.getCurrentLife());
        }
示例#2
0
    public Buff CreateBuff(BuffType TypeValue)
    {
        Buff buff;

        switch (TypeValue)
        {
        case BuffType.Test:
            buff = new TestBuff(TypeValue, 7f);
            buff.SetBuffSprite(testBuffSprite);
            return(buff);

        case BuffType.Haste:
            buff = new HasteBuff(TypeValue, 10f);
            buff.SetBuffSprite(hasteBuffSprite);
            return(buff);

        case BuffType.Burn:
            buff = new BurnDebuff(TypeValue, 3f, burnExplosion);
            buff.SetBuffSprite(burnDebuffSprite);
            return(buff);

        case BuffType.Conceal:
            buff = new ConcealBuff(TypeValue, 3);
            buff.SetBuffSprite(concealBuffSprite);
            return(buff);

        default:
            Assert.IsTrue(true);
            Debug.LogError("Buff Type does not Exist!!!!");
            return(new TestBuff(TypeValue, 7f));
        }
    }
示例#3
0
        public void TestAddRemoveBuffTriggering()
        {
            var buff = new TestBuff();

            character.AddBuff(buff);
            Assert.IsTrue(buff.Triggered.Contains(typeof(IBuffApplyTrigger)));

            character.RemoveBuff(buff);
            Assert.IsTrue(buff.Triggered.Contains(typeof(IBuffRemoveTrigger)));
        }
示例#4
0
        public void addATKBuffTest()
        {
            Card     card = new Card(0);
            TestBuff buff = new TestBuff(new AttackModifier(2));

            card.addBuff(null, buff);
            buff = new TestBuff(new AttackModifier(2));
            card.addBuff(null, buff);

            Assert.AreEqual(4, card.getAttack());
        }
示例#5
0
        public void addATKBuffRevertTest()
        {
            Card card = new Card(0);

            TestBuff[] buffs = new TestBuff[2];
            for (int i = 0; i < buffs.Length; i++)
            {
                buffs[i] = new TestBuff(new AttackModifier(2));
                card.addBuff(null, buffs[i]);
            }

            Assert.AreEqual(4, card.getAttack());
        }
示例#6
0
        public void addAndSetATKBuffTest()
        {
            Card card = new Card(0);

            TestBuff[] buffs = new TestBuff[3];
            buffs[0] = new TestBuff(new AttackModifier(2));
            card.addBuff(null, buffs[0]);
            buffs[1] = new TestBuff(new AttackModifier(0, true));
            card.addBuff(null, buffs[1]);
            buffs[2] = new TestBuff(new AttackModifier(2));
            card.addBuff(null, buffs[2]);

            Assert.AreEqual(2, card.getAttack());
        }
示例#7
0
        public void subAttackBuffApplyAndRevertTest()
        {
            Card card = new Card(0);

            card.setAttack(2);
            TestBuff[] buffs = new TestBuff[3];
            for (int i = 0; i < buffs.Length; i++)
            {
                buffs[i] = new TestBuff(new AttackModifier(-2));
                card.addBuff(null, buffs[i]);
            }
            Assert.AreEqual(0, card.getAttack());

            for (int i = 0; i < buffs.Length; i++)
            {
                card.removeBuff(null, buffs[i]);
            }
            Assert.AreEqual(2, card.getAttack());
        }
示例#8
0
        public void haloAndSetBuffTest()
        {
            CardEngine game = new CardEngine(null, null, 0)
            {
                logger = new UnityLogger()
            };
            Card card = new Card(0);

            card.setLife(1);
            card.setCurrentLife(1);
            TestBuff haloBuff = new TestBuff(new LifeModifier(1));

            card.addBuff(game, haloBuff);
            TestBuff setBuff = new TestBuff(new LifeModifier(1, true));

            card.addBuff(game, setBuff);
            //刷新Buff
            card.removeBuff(game, haloBuff);
            card.addBuff(game, haloBuff);

            Assert.AreEqual(2, card.getCurrentLife());
            Assert.AreEqual(2, card.getLife());
        }
示例#9
0
 TestBuff(TestBuff origin)
 {
     id        = origin.id;
     modifiers = origin.modifiers;
 }