protected override void Prepare()
        {
            gameObjectLayer = (GameObjectLayer)Global.world.GetLayer("GameObjectLayer");
            guiLayer        = (GUILayer)Global.world.GetLayer("GUILayer");
            souls           = new List <Soul>();
            clickables      = new List <IClickable>();

            base.Prepare();
        }
        /// <summary>
        /// Prepare this instance.
        /// Actions for key pressed and released event need to be declared here.
        /// </summary>
        protected override void Prepare()
        {
            // Set Key Actions.
            keyActions.Add(new KeyAction(Keys.Enter, pressed: () => { ChangeState(new TeamManageState(pressedKeys)); }));

            keyActions.Add(new KeyAction(Keys.E, pressed: InteractionButtonPressed));

            // Set movement actions.
            foreach (Keys moveKey in moveKeys.Keys)
            {
                keyActions.Add(new KeyAction(moveKey, pressed: () => { player.Walk(moveKeys[moveKey]); moveKeyStack.Push(moveKey); }));
            }

            // Set GUIs
            guiLayer = (GUILayer)Global.world.GetLayer("GUILayer");
            if (guiLayer.GetGUI <TeamManagement>() == null)
            {
                guiLayer.AddGUI(new TeamManagement("TeamManagement", null, 0, 288));
            }

            base.Prepare();
        }
Beispiel #3
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();
        }
 public InteractionState(List <Keys> pressedKeys, Interaction interaction) : base(pressedKeys)
 {
     this.interaction = interaction;
     guiLayer         = (GUILayer)Global.world.GetLayer("GUILayer");
     guiLayer.AddGUI(interaction.InteractionTextbox);
 }
Beispiel #5
0
        protected override void Prepare()
        {
            timespan        = 0;
            transforming    = true;
            timePaused      = true;
            player          = Global.world.GetPlayer();
            guiLayer        = (GUILayer)Global.world.GetLayer("GUILayer");
            gameObjectLayer = (GameObjectLayer)Global.world.GetLayer("GameObjectLayer");
            topEffectLayer  = (EffectLayer)Global.world.GetLayer("TopEffectLayer");

            targetBuffer          = new List <FighterObject>();
            readiedFighterObjects = new Queue <FighterObject>();
            readiedBuff           = new Queue <BuffAction>();
            deadEnemyObjects      = new List <EnemyObject>();

            player.Look(Direction.Up);
            player.Stand();

            guiLayer.RemoveGUI("TeamManagement");
            actionMenu = new ActionMenu("ActionMenu", null, MENUSTART_X, MENUSTART_Y);
            actionMenu.Deactivate();
            guiLayer.AddGUI(actionMenu);
            actionSelect = new ActionSelect("ActionSelect", null, SELECTSTART_X, MENUSTART_Y, null);
            actionSelect.Deactivate();
            guiLayer.AddGUI(actionSelect);
            instruction = new Label("Instruction", null, INSTRUCTION_X, INSTRUCTION_Y, "Select Target", Color.White,
                                    512, Global.content.Load <SpriteFont>("neodgm24"), AlignType.Top, AlignType.Center);
            instruction.Deactivate();
            guiLayer.AddGUI(instruction);

            stage    = new BattleStage();
            selector = new Selector(mirrorMode: true);
            selector.CreateNewMatrix("ActionMenuGroup", 1, 5);
            selector.CreateNewMatrix("ActionSelectGroup", 1, 1);
            selector.CreateNewMatrix("FighterGroup", Global.Properties.FIGHTER_IN_ROW, 4); // Two for NullFighterObject.

            // Key setting
            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: () =>
            {
                if (selector.matrixName == "ActionSelectGroup")
                {
                    actionSelect.Next(Direction.Left);
                }
                else
                {
                    selector.SelectNext(Direction.Left);
                }
            }));
            keyActions.Add(new KeyAction(Keys.D, pressed: () =>
            {
                if (selector.matrixName == "ActionSelectGroup")
                {
                    actionSelect.Next(Direction.Right);
                }
                else
                {
                    selector.SelectNext(Direction.Right);
                }
            }));
            keyActions.Add(new KeyAction(Keys.E, pressed: () => { selector.SelectAction(); }));
            keyActions.Add(new KeyAction(Keys.Q, pressed: () => { Rewind(); }));


            base.Prepare();
        }