Example #1
0
        public TeamManagement(string name, GUIComponent parent, int rx, int ry) : base(name, parent, rx, ry)
        {
            background = Global.content.Load <Texture2D>("TeamManagementBackground");
            frame      = Global.content.Load <Texture2D>("TeamManagementFrame");
            font16     = Global.content.Load <SpriteFont>("neodgm12");
            full       = false;
            player     = Global.world.GetPlayer();

            // Prepare hero socket
            frontGroup  = new DragSocketGroup("HeroFrontGroup", this, FRONTSTART_X, FRONTSTART_Y, Player.HEROFRONT_MAX);
            behindGroup = new DragSocketGroup("HeroBehindGroup", this, FRONTSTART_X, BEHINDSTART_Y, Player.HEROBEHIND_MAX);
            storedGroup = new DragSocketGroup("HeroStoredGroup", this, STORESTART_X, STORESTART_Y, Player.HEROSTORED_MAX);
            components.Add(frontGroup);
            components.Add(behindGroup);
            components.Add(storedGroup);

            for (int i = 0; i < Player.HEROSTORED_MAX; i++)
            {
                storedGroup.AddSocket(i, new HeroSummarySocket("HeroStored", this, STORE_GAP * i, 0,
                                                               new string[] { "HeroFront", "HeroBehind" }));
            }

            // Prepare item socket
            itemGroup = new DragSocketGroup("ItemGroup", this, ITEMSTART_X, ITEMSTART_Y, Player.ITEM_MAX);
            components.Add(itemGroup);

            for (int row = 0; row < Player.ITEM_HEIGHT; row++)
            {
                for (int col = 0; col < Player.ITEM_WIDTH; col++)
                {
                    itemGroup.AddSocket(col + row * Player.ITEM_WIDTH, new ItemSocket("ItemSocket", this,
                                                                                      ITEM_GAP * col, ITEM_GAP * row, col, row));
                }
            }

            // Prepare skill icons
            skills = new SkillIcon[5];
            for (int i = 0; i < Player.SKILL_MAX; i++)
            {
                skills[i] = new SkillIcon("Skill" + i, this, SKILLSTART_X + SKILL_GAP * i, SKILLSTART_Y);
                components.Add(skills[i]);
            }
        }
Example #2
0
        protected override void Prepare()
        {
            player = Global.world.GetPlayer();
            player.Stand();

            guiLayer       = (GUILayer)Global.world.GetLayer("GUILayer");
            topEffectLayer = (EffectLayer)Global.world.GetLayer("TopEffectLayer");

            teamManagement      = (TeamManagement)((GUILayer)Global.world.GetLayer("GUILayer")).GetGUI <TeamManagement>();
            teamManagement.full = true;

            selector = new Selector(mirrorMode: true);
            selector.CreateNewMatrix("HeroSockets", Player.HEROFRONT_MAX, 3);
            selector.ChangeMatrix("HeroSockets");

            heroFrontGroup  = (DragSocketGroup)teamManagement.FindComponent("HeroFrontGroup");
            heroBehindGroup = (DragSocketGroup)teamManagement.FindComponent("HeroBehindGroup");
            heroStoredGroup = (DragSocketGroup)teamManagement.FindComponent("HeroStoredGroup");

            keyActions.Add(new KeyAction(Keys.Enter,
                                         pressed: () => { ChangeState(new ExploreState(pressedKeys)); teamManagement.full = false; }));
            keyActions.Add(new KeyAction(Keys.W,
                                         pressed: () => { selector.SelectNext(Direction.Up); }));
            keyActions.Add(new KeyAction(Keys.S,
                                         pressed: () => { selector.SelectNext(Direction.Down); }));
            keyActions.Add(new KeyAction(Keys.A,
                                         pressed: () => { selector.SelectNext(Direction.Left); }));
            keyActions.Add(new KeyAction(Keys.D,
                                         pressed: () => { selector.SelectNext(Direction.Right); }));
            keyActions.Add(new KeyAction(Keys.E,
                                         pressed: () => { selector.SelectAction(); }));
            keyActions.Add(new KeyAction(Keys.Q,
                                         pressed: () => { selector.Rewind(); DeselectHero(); }));

            dragging = false;

            base.Prepare();
        }