Beispiel #1
0
        public static InventoryWindow GenerateInventoryWindow(Skin skin, Scene scene, Vector2 position, float width, float height)
        {
            Stage stage = (scene as MainScene).UICanvas.Stage;

            //removes window if it exists
            InventoryWindow.RemoveInventory(scene);

            //Creates new window after removing old one
            InventoryWindow inventoryWindow = new InventoryWindow(skin, position, width, height);

            stage.AddElement(inventoryWindow);
            return(inventoryWindow);
        }
Beispiel #2
0
        //TODO: Change to customizable keybindings later
        private Keys[] KeyboardChange()
        {
            KeyboardState newState         = Input.CurrentKeyboardState;
            KeyboardState OldKeyboardState = Input.PreviousKeyboardState;
            List <Keys>   keys             = new List <Keys>();

            if (AbiliyCoolDown > 1)
            {
                foreach (var KeyBind in KeyBindContainer.KeyBinds)
                {
                    if (newState.IsKeyDown(KeyBind.BindedKey) && OldKeyboardState.IsKeyUp(KeyBind.BindedKey) && KeyBind.BindedAbilitityID != -1 && Scene.GetSceneComponent <ChannelBarComponent>() == null)
                    {
                        AbilityHead     ability = KeyBind.GetAbility();
                        MessageTemplate template;
                        ChannelTemplate ct = new ChannelTemplate(KeyBind.GetAbility().AbilityName, ChannelType.Ability);
                        if ((Scene as MainScene).UICanvas.Stage.FindAllElementsOfType <TargetWindow>() != null)
                        {
                            if (ability.ChannelTime > 0 && targeting)
                            {
                                template = new MessageTemplate(ct.ToJson(), MessageType.StartChanneling);
                                ChannelBarComponent channelBarComponent = new ChannelBarComponent(ability.ChannelTime, ability, Scene.FindEntitiesWithTag(2).ElementAt(0).GetComponent <PlayerComponent>().GetTarget(), Entity.Position);

                                Scene.AddSceneComponent(channelBarComponent);
                            }
                            else
                            {
                                template = new MessageTemplate(ct.ToJson(), MessageType.DamageTarget);
                            }
                            MessageManager.AddToQueue(template);
                            AbiliyCoolDown = 0;
                        }
                    }
                }
            }

            //Generated inventory
            if (newState.IsKeyDown(Keys.I) && OldKeyboardState.IsKeyUp(Keys.I))
            {
                if (!InventoryWindow.RemoveInventory(Scene))
                {
                    UIManager.GenerateInventoryWindow(skin, Scene, new Vector2(-1, -1), -1, -1);
                }
            }

            if (newState.IsKeyDown(Keys.C) && OldKeyboardState.IsKeyUp(Keys.C))
            {
                if (!CharacterWindow.RemoveCharacterWindow(Scene))
                {
                    UIManager.GenerateCharacterWindow(skin, Scene, new Vector2(-1, -1), -1, -1);
                }
            }

            if (newState.IsKeyDown(Keys.D1) && !OldKeyboardState.IsKeyDown(Keys.D1))
            {
            }
            if (newState.IsKeyDown(Keys.S) && !OldKeyboardState.IsKeyDown(Keys.S))
            {
                direction = Direction.Down;

                IsMoving = true;
            }
            if (newState.IsKeyDown(Keys.W) && !OldKeyboardState.IsKeyDown(Keys.W))
            {
                direction = Direction.Up;

                IsMoving = true;
            }
            if (newState.IsKeyDown(Keys.A) && !OldKeyboardState.IsKeyDown(Keys.A))
            {
                direction = Direction.Left;
                IsMoving  = true;
            }
            if (newState.IsKeyDown(Keys.D) && !OldKeyboardState.IsKeyDown(Keys.D))
            {
                direction = Direction.Right;
                IsMoving  = true;
            }
            if (newState.IsKeyDown(Keys.T) && !OldKeyboardState.IsKeyDown(Keys.T))
            {
                keys.Add(Keys.T);
            }
            if (IsMoving)
            {
                Scene.RemoveSceneComponent <ChannelBarComponent>();
            }

            return(keys.ToArray());
        }