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); }
//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()); }