Beispiel #1
0
    private void CreateBattleButtons()
    {
        // set up die buttons
        UpdateDieButtons();

        pawnCards = new Dictionary <Pawn, UIObj>();

        EnemyPawnCard epc = new EnemyPawnCard(new Vector2i(size.x / 2, 72), new Vector2i(128, 128), battle.enemy, battle, RB.ALIGN_H_CENTER | RB.ALIGN_V_CENTER);

        AddUIObj(epc);
        pawnCards.Add(battle.enemy, epc);

        viewPawnImages = new Image[battle.allies.Length + 1];
        string[]       tabNames   = new string[battle.allies.Length];
        int            spellCount = 0;
        PlayerPawnCard ppc;
        PackedSprite   viewSprite = RB.PackedSpriteGet("Eye", Game.SPRITEPACK_BATTLE);

        for (int i = 0; i < battle.allies.Length; i++)
        {
            AddUIObj(ppc = new PlayerPawnCard(new Vector2i(8, 8 + 36 * i), new Vector2i(96, 32), battle.allies[i], battle));
            pawnCards.Add(battle.allies[i], ppc);
            AddUIObj(viewPawnImages[i] = new Image(new Vector2i(108, 24 + 36 * i), viewSprite));
            if (i > 0)
            {
                viewPawnImages[i].isVisible = false;
            }
            int x = i;
            ppc.SetOnClick(() => {
                ViewSpellTab(x);
            });
            tabNames[i] = battle.allies[i].GetName();
            spellCount += battle.allies[i].GetSpells().Length;
        }

        spellPane = new TabbedPane(new Vector2i(size.width - 102, 0), new Vector2i(102, size.height), true);
        spellPane.SetTabs(tabNames);
        AddUIObj(spellPane);
        spellButtons         = new SpellButton[spellCount];
        spellButtonOwnership = new int[spellCount];
        int currentSpellIndex = 0;

        for (int i = 0; i < battle.allies.Length; i++)
        {
            currentSpellIndex = FillSpellPane(spellPane, i, currentSpellIndex);
        }

        /*
         * Spell[] knownSpells = battle.GetClientPawn().GetSpells();
         * spellButtons = new SpellButton[knownSpells.Length];
         * for(int i = 0; i < knownSpells.Length; i++) {
         *      AddUIObj(spellButtons[i] = new SpellButton(battle, knownSpells[i], new Vector2i(size.width - 100, 8 + i * 36)));
         * }*/
        ViewSpellTab(0);
    }
Beispiel #2
0
    public void OnPawnUpdate(Battle battle, Pawn newPawn)
    {
        Pawn oldPawn = battle.GetPawn(newPawn.GetId());

        if (oldPawn.GetId() == battle.allies.Length)
        {
            EnemyPawnCard epc = pawnCards[oldPawn] as EnemyPawnCard;
            pawnCards.Remove(oldPawn);
            epc.pawn = newPawn;
            pawnCards.Add(newPawn, epc);
        }
        else
        {
            PlayerPawnCard ppc = pawnCards[oldPawn] as PlayerPawnCard;
            pawnCards.Remove(oldPawn);
            ppc.pawn = newPawn;
            pawnCards.Add(newPawn, ppc);
        }
    }