public override void update()
        {
            base.update();
            if (justPressedLeftButton() && isPosInScreen(gameScreenPos))
            {
                Trigger trigger = new Trigger();
                trigger.position = new Vector2(getMousePosInZ().X, getMousePosInZ().Y);
                TriggerManager.Instance.addTrigger(trigger);

                MyEditor.Instance.changeState(new EditorState_EditTrigger(trigger));
            }
        }
예제 #2
0
 public void addTrigger(Trigger trigger)
 {
     triggers.Add(trigger);
 }
 public EditorState_EditTrigger(Trigger selected = null)
     : base()
 {
     this.selected = selected;
 }
        public override void update()
        {
            base.update();

            if (justPressedLeftButton() && isPosInScreen(gameScreenPos)) //&& (Math.Abs(lastMouseState.X - mouseState.X) > 2 || Math.Abs(lastMouseState.Y - mouseState.Y) > 2))
            {
                selected = null;
                foreach (Trigger trigger in TriggerManager.Instance.getTriggers())
                {
                    float delta = (getMousePosInZ().toVector2() - trigger.position).Length();
                    if (delta < 25 && (selected == null || delta < selectedDelta))
                    {
                        selected = trigger;
                        selectedDelta = delta;
                    }
                }

                if (selected != null)
                {
                    updateFunctions();
                }
            }
        }