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); }
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); } }