Ejemplo n.º 1
0
 public Boolean Contains(Mobile unit)
 {
     if (units.Contains(unit))
         return true;
     else
         return false;
 }
Ejemplo n.º 2
0
        public Vector2 GetOffset(Mobile unit, Map myMap)
        {
            //  Save tiles for leader and unit position:
            Tile leaderTile = myMap.GetContainingTile(leader);
            Tile unitTile = myMap.GetContainingTile(unit);

            if (leaderTile == null || unitTile == null)
                return new Vector2(0, -0);

            // Upper left
            if (unitTile.xPosition < leaderTile.xPosition && unitTile.yPosition <= leaderTile.yPosition)
            {
                ulCounter++;
                if(ulCounter == 1)
                    return new Vector2(-32, 0);
                else
                    return new Vector2(-32, -32);
            }

            //  Upper right
            if (unitTile.xPosition >= leaderTile.xPosition && unitTile.yPosition < leaderTile.yPosition)
            {
                urCounter++;
                if (urCounter == 1)
                    return new Vector2(0, -32);
                else
                    return new Vector2(32, -32);
            }

            //  Bottom right
            if (unitTile.xPosition > leaderTile.xPosition && unitTile.yPosition >= leaderTile.yPosition)
            {
                brCounter++;
                if(brCounter == 1)
                    return new Vector2(32, 0);
                else
                    return new Vector2(32, 32);
            }

            // Bottom left
            if (unitTile.xPosition <= leaderTile.xPosition && unitTile.yPosition > leaderTile.yPosition)
            {
                blCounter++;
                if (blCounter == 1)
                    return new Vector2(32, 0);
                else
                    return new Vector2(-32, 32);
            }

            else
                return new Vector2(0, 0);
        }
Ejemplo n.º 3
0
        public UnitGroup(List<Mobile> unitList, Vector2 newDest)
        {
            units = unitList;
            destination = newDest;
            urCounter = 0;
            brCounter = 0;
            blCounter = 0;
            ulCounter = 0;

            // Leader of group is the unit closest to the destination:
            float distance = 999999;
            foreach(Mobile unit in units)
            {
                float testDistance = Vector2.Distance(new Vector2(unit.Bounds.Center.X, unit.Bounds.Center.Y), new Vector2(destination.X, destination.Y));
                if (testDistance < distance)
                {
                    leader = unit;
                }
            }
        }
Ejemplo n.º 4
0
 public void chooseSelector(Mobile levelChooser)
 {
     switch (currentMap.name)
     {
         case "Content/MainScreen.txt":
             allSelectors[1].isColliding(levelChooser);
             break;
         case "Content/levelSelect.txt":
             if (allSelectors[2].getInteraction() == true)
             {
                 allSelectors[2].isColliding(levelChooser);
             }
             if (allSelectors[3].getInteraction() == true)
             {
                 allSelectors[3].isColliding(levelChooser);
             }
             if (allSelectors[4].getInteraction() == true)
             {
                 allSelectors[4].isColliding(levelChooser);
             }
             break;
         case "Content/defeatScreen.txt":
             if (allSelectors[0].getInteraction() == true)
             {
                 //Console.WriteLine("We're checking for collision with defeatScreen!");
                 //Console.WriteLine("Who are we checking for collision with?!?!?  " + levelChooser);
                 allSelectors[0].isColliding(levelChooser);
             }
             break;
         case "Content/victoryScreen.txt":
             if (allSelectors[5].getInteraction() == true)
             {
                 //Console.WriteLine("You're checking for collision with " + allSelectors[5].getInteraction());
                 allSelectors[5].isColliding(levelChooser);
                 //Console.WriteLine("Current map is: " + currentMap.name);
             }
             break;
     }
 }
Ejemplo n.º 5
0
        public UnitGroup GetGroup(Mobile unit)
        {
            foreach(UnitGroup group in unitGroups){
                if (group.Contains(unit))
                    return group;
            }

            return null;
        }