示例#1
0
        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
        }
示例#2
0
 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);
     });
 }