Esempio n. 1
0
        private static void OnClickedInventory(ItemButton obj)
        {
            if (Input.LeftMouseButtonReleased)
            {
                if (obj.position != -1)
                {
                    MessageTemplate template = new MessageTemplate(obj.position.ToString(), MessageType.EquipItem);
                    MessageManager.AddToQueue(template);
                    obj.HoverWindow.Remove();
                }

                if (obj.GetParent() is Window)
                {
                }
            }
        }
Esempio n. 2
0
        private void FreeMouseChange()
        {
            Vector2       pos      = Entity.Scene.Camera.MouseToWorldPoint();
            List <Entity> entities = Scene.FindEntitiesWithTag(7);

            if (Input.LeftMouseButtonPressed && Scene is MainScene)
            {
                if ((Scene as MainScene).UICanvas.Stage.Hit(Input.MousePosition) == null && targeting)
                {
                    TargetWindow.RemoveTargetWindow(Scene);
                    MessageTemplate template = new MessageTemplate("", MessageType.Target);
                    MessageManager.AddToQueue(template);
                    targeting = false;
                }
            }

            foreach (var entity in entities)
            {
                SpriteAnimator sp = entity.GetComponent <SpriteAnimator>();


                Rectangle rect      = sp.CurrentAnimation.Sprites.ElementAt(0).SourceRect;
                Rectangle rectangle = new Rectangle(entity.Position.ToPoint(), new Point((int)(rect.Width * entity.Scale.X), (int)(rect.Height * entity.Scale.Y)));
                if (rectangle.Contains(pos) && Input.LeftMouseButtonPressed)
                {
                    MessageTemplate template = new MessageTemplate(entity.Name, MessageType.Target);
                    MessageManager.AddToQueue(template);
                    targeting = true;
                    if (Scene is MainScene)
                    {
                        MainScene    scene  = Scene as MainScene;
                        TargetWindow window = new TargetWindow(entity, new Vector2(Screen.Width / 2, Screen.Height * 0.03f), skin);
                        Scene.FindEntitiesWithTag(2).ElementAt(0).GetComponent <PlayerComponent>().SetTarget(entity);
                        scene.UICanvas.Stage.AddElement(window);
                    }
                }
            }
        }
Esempio n. 3
0
        private void SendKeyboardRequest(KeyboardState keyboardState)
        {
            string messageS = Newtonsoft.Json.JsonConvert.SerializeObject(keyboardState.GetPressedKeys());

            MessageManager.AddToQueue(new MessageTemplate(messageS, MessageType.Movement));
        }
Esempio n. 4
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());
        }