Пример #1
0
 public static void updateModifiersInHUDFromArray(Text[] modifierTexts, CardEffect.Condition condition)
 {
     foreach (Text t in modifierTexts)
     {
         t.text = "+0";
     }
     foreach (CardEffect ce in Player.cardEffects)
     {
         if (ce.condition == condition && ce.effect != CardEffect.Effect.DICE_MOD)
         {
             int    arrayIndex = ce.conditionNumber;
             double modValue   = ce.effectNumber;//double.Parse(modifierTexts[arrayIndex].text) + ce.effectNumber;
             modifierTexts[arrayIndex].text = "+" + NumberStringConverter.convert(modValue);
             Color textColor = (modValue == 0) ? Color.white : (condition == CardEffect.Condition.FIRST) ?
                               Color.green : Color.blue;
             modifierTexts[arrayIndex].color = textColor;
         }
     }
 }
Пример #2
0
    public static string[] getHighlightedChars(CardEffect.Condition condition, int conditionNumber, string[] charColors)
    {
        int numberLength = (conditionNumber + "").Length;

        switch (condition)
        {
        case CardEffect.Condition.FIRST:
            for (int i = 0; i < numberLength; i++)
            {
                charColors[i] = "#00ff00ff";
            }
            break;

        case CardEffect.Condition.LAST:
            int lastPosition = charColors.Length - 1;
            for (int i = 0; i < numberLength; i++)
            {
                charColors[lastPosition - i] = "#0000ffff";
            }
            break;
        }
        return(charColors);
    }
Пример #3
0
    public void TestUpdateModifiersInHUDFromArray()
    {
        Player.cardEffects = new List <CardEffect>();
        Text[] modifierTexts = new Text[9];
        for (int i = 0; i < modifierTexts.Length; i++)
        {
            modifierTexts[i] = (new GameObject()).AddComponent <Text>();
        }
        CardEffect.Condition condition = CardEffect.Condition.FIRST;

        // No card effects
        BattleManager.updateModifiersInHUDFromArray(modifierTexts, condition);
        foreach (Text t in modifierTexts)
        {
            Assert.AreEqual("+0", t.text);
        }

        // Some card effects
        CardEffect ce1 = new CardEffect(0, CardEffect.Condition.FIRST, 4, CardEffect.Effect.HEALTH, 3);
        CardEffect ce2 = new CardEffect(0, CardEffect.Condition.FIRST, 7, CardEffect.Effect.HEALTH, 2);

        Player.addCardEffect(ce1); Player.addCardEffect(ce2);
        BattleManager.updateModifiersInHUDFromArray(modifierTexts, condition);
        for (int i = 0; i < modifierTexts.Length; i++)
        {
            Text t = modifierTexts[i];
            if (i == 4)
            {
                Assert.AreEqual("+3", t.text);
            }
            else if (i == 7)
            {
                Assert.AreEqual("+2", t.text);
            }
            else
            {
                Assert.AreEqual("+0", t.text);
            }
        }

        // Repeated card effects
        CardEffect ce3 = new CardEffect(0, CardEffect.Condition.FIRST, 4, CardEffect.Effect.HEALTH, 6);
        CardEffect ce4 = new CardEffect(0, CardEffect.Condition.FIRST, 4, CardEffect.Effect.HEALTH, 3);
        CardEffect ce5 = new CardEffect(0, CardEffect.Condition.FIRST, 1, CardEffect.Effect.HEALTH, 5);

        Player.addCardEffect(ce3); Player.addCardEffect(ce4); Player.addCardEffect(ce5);
        BattleManager.updateModifiersInHUDFromArray(modifierTexts, condition);
        for (int i = 0; i < modifierTexts.Length; i++)
        {
            Text t = modifierTexts[i];
            if (i == 1)
            {
                Assert.AreEqual("+5", t.text);
            }
            else if (i == 4)
            {
                Assert.AreEqual("+12", t.text);
            }
            else if (i == 7)
            {
                Assert.AreEqual("+2", t.text);
            }
            else
            {
                Assert.AreEqual("+0", t.text);
            }
        }

        // No "last" card effects
        modifierTexts = new Text[10];
        for (int i = 0; i < modifierTexts.Length; i++)
        {
            modifierTexts[i] = (new GameObject()).AddComponent <Text>();
        }
        condition = CardEffect.Condition.LAST;
        BattleManager.updateModifiersInHUDFromArray(modifierTexts, condition);
        foreach (Text t in modifierTexts)
        {
            Assert.AreEqual("+0", t.text);
        }
        CardEffect ce6 = new CardEffect(0, CardEffect.Condition.LAST, 8, CardEffect.Effect.HEALTH, 7);
        CardEffect ce7 = new CardEffect(0, CardEffect.Condition.LAST, 4, CardEffect.Effect.HEALTH, 1);
        CardEffect ce8 = new CardEffect(0, CardEffect.Condition.LAST, 8, CardEffect.Effect.HEALTH, 15);

        Player.addCardEffect(ce6); Player.addCardEffect(ce7); Player.addCardEffect(ce8);
        BattleManager.updateModifiersInHUDFromArray(modifierTexts, condition);
        for (int i = 0; i < modifierTexts.Length; i++)
        {
            Text t = modifierTexts[i];
            if (i == 4)
            {
                Assert.AreEqual("+1", t.text);
            }
            else if (i == 8)
            {
                Assert.AreEqual("+22", t.text);
            }
            else
            {
                Assert.AreEqual("+0", t.text);
            }
        }
    }
Пример #4
0
 public void highlightDice(CardEffect.Condition condition, int conditionNumber)
 {
     charColors = getHighlightedChars(condition, conditionNumber, charColors);
     applyTextColor();
 }