public BattleTile(Screen screen, Renderer renderer, Microsoft.Xna.Framework.Rectangle rect, Battle battle) { this.battle = battle; renderables = new List <PuppetBundle>(); captains = new List <CaptainBundle>(); //playerSquads = new List<BattlePuppetSquad>(); PuppetBundle temp; //playerSquads = battle.PlayerSquads; foreach (BattlePuppetSquad squad in battle.PlayerSquads) { foreach (BattlePuppet puppet in squad.puppets) { temp = new PuppetBundle(puppet, new RenderableElement(screen, renderer, puppet.ImageBox, puppet.Unit.Picture)); renderables.Add(temp); if (puppet.Unit.SquadPosition == 0) { CaptainBundle captainBundle = new CaptainBundle(screen, renderer, temp, squad); //captain captains.Add(captainBundle); } } } foreach (BattlePuppet puppet in battle.EnemyPuppets) { temp = new PuppetBundle(puppet, new RenderableElement(screen, renderer, puppet.ImageBox, puppet.Unit.Picture)); renderables.Add(temp); } //assign clickableElements to captains }
public CaptainBundle(Screen screen, Renderer renderer, PuppetBundle bundle, BattlePuppetSquad squad) { puppetBundle = bundle; captainButton = new DraggableElement(screen, renderer, bundle.puppet.ImageBox); captainButton.DragOrigin.setVisibility(false); captainButton.DragIcon.Texture = TextureName.BasicButtonHover; captainButton.OriginIcon.setVisibility(false); captainButton.setOnDragRelease(() => { foreach (BattlePuppet puppet in squad.puppets) { puppet.overrideTarget(screen.mousePosition); } return(true); }); }