Exemple #1
0
 public void PushMenuToBack(IInputSubscriber subscriber)
 {
     if (subscriberMenuList.Remove(subscriber))
     {
         subscriberMenuList.Add(subscriber);
     }
 }
Exemple #2
0
 public void PushMenuToFront(IInputSubscriber subscriber)
 {
     if (subscriberMenuList.Remove(subscriber))
     {
         subscriberMenuList.Insert(0, subscriber);
     }
 }
Exemple #3
0
        public InputProxy(IInput input, IInputSubscriber subscriber)
        {
            _input      = input;
            _subscriber = subscriber;

            _input.TouchBegin          += OnTouchBegin;
            _input.TouchEnd            += OnTouchEnd;
            _input.TouchMove           += OnTouchMove;
            _input.MouseButtonDown     += OnMouseButtonDown;
            _input.MouseButtonUp       += OnMouseButtonUp;
            _input.MouseModeChanged    += OnMouseModeChanged;
            _input.MouseVisibleChanged += OnMouseVisibleChanged;
            _input.MouseMoved          += OnMouseMoved;
            _input.MouseWheel          += OnMouseWheel;
            _input.KeyDown             += OnKeyDown;
            _input.KeyUp                += OnKeyUp;
            _input.JoystickAxisMove     += OnJoystickAxisMove;
            _input.JoystickButtonDown   += OnJoystickButtonDown;
            _input.JoystickButtonUp     += OnJoystickButtonUp;
            _input.JoystickConnected    += OnJoystickConnected;
            _input.JoystickDisconnected += OnJoystickDisconnected;
            _input.JoystickHatMove      += OnJoystickHatMove;
            _input.TextInput            += OnTextInput;

            _input.GestureRecorded += OnGestureRecorded;
            _input.GestureInput    += OnGestureInput;
            _input.MultiGesture    += OnMultiGesture;
            _input.DropFile        += OnDropFile;
            _input.InputFocus      += OnInputFocus;
            _input.ExitRequested   += OnExitRequested;

            _subscriber.OnMouseModeChanged(this,
                                           new MouseModeChangedEventArguments(_input.MouseMode, _input.MouseLocked));
            _subscriber.OnMouseVisibleChanged(this, new MouseVisibleChangedEventArguments(_input.MouseVisible));
        }
Exemple #4
0
 /// <summary>
 /// Adds a subscriber to the input stream
 /// </summary>
 /// <param name="subscriber"></param>
 /// <param name="menu"></param>
 public void AddInputSubscriber(IInputSubscriber subscriber, bool menu)
 {
     if (menu)
     {
         subscriberMenuList.Insert(0, subscriber);
         return;
     }
     subscriberList.Insert(0, subscriber);
 }
 public virtual void ReleaseSubscriber(IInputSubscriber inputSubscriber)
 {
     if (inputSubscriber != Page)
     {
         throw new InvalidOperationException();
     }
     OnFocusLost();
     Page = null;
 }
Exemple #6
0
        public override void AssignSubscriber(IInputSubscriber inputSubscriber)
        {
            base.AssignSubscriber(inputSubscriber);

            foreach (var joystickDeviceAdapter in _joysticks)
            {
                joystickDeviceAdapter.Value.AssignPage(Page);
            }
        }
Exemple #7
0
 /// <summary>
 /// Removes a subscriber to the input stream if it is subscribed
 /// </summary>
 /// <param name="subscriber"></param>
 /// <param name="menu"></param>
 public void RemoveInputSubscriber(IInputSubscriber subscriber, bool menu)
 {
     if (menu)
     {
         subscriberMenuList.Remove(subscriber);
         return;
     }
     subscriberList.Remove(subscriber);
 }
Exemple #8
0
 public override void ReleaseSubscriber(IInputSubscriber inputSubscriber)
 {
     if (Page != null)
     {
         foreach (var joystickDeviceAdapter in _joysticks)
         {
             joystickDeviceAdapter.Value.ReleasePage(Page);
         }
     }
     base.ReleaseSubscriber(inputSubscriber);
 }
            public void AddSubscriber(InputContext context, TimeContext timeContext, IInputSubscriber subscriber)
            {
                List <IInputSubscriber>[] subscriberArray;
                if (_subscribers.TryGetValue(context, out subscriberArray))
                {
                    subscriberArray[(int)timeContext].Add(subscriber);
                    return;
                }

                // if it doesn't exist already, initialize and add the array
                subscriberArray = new List <IInputSubscriber> [Enum.GetValues(typeof(TimeContext)).Length];
                for (int i = 0; i < subscriberArray.Length; i++)
                {
                    subscriberArray[i] = new List <IInputSubscriber>(1);
                }
                subscriberArray[(int)timeContext].Add(subscriber);
                _subscribers.Add(context, subscriberArray);
            }
Exemple #10
0
 public void InitializeGame()
 {
     //Pop all menus
     menuContainer.RemoveAllMenus();
     //Game systems intialization
     surfaceContainer = new SurfaceContainer(tileCollection, surfaceGenerator);
     renderer.InitializeForGame(tileCollection);
     #region test entities
     surfaceContainer.GenerateStartingArea();
     player = entityCollection.InstantiatePrototype("player", surfaceContainer.spawnPoint, surfaceContainer);
     IInputSubscriber playerSubscriber = player as IInputSubscriber;
     if (playerSubscriber != null)
     {
         playerSubscriber.SubscribeToInput(input);
     }
     #endregion
     //Attaching the camera to something!
     camera.SetFocusedEntity(player, menuFactory);
     this.SubscribeToInput(input);
     renderer.SubscribeToInput(input);
 }
 /// <summary>
 /// Subscribe to get input notifications
 /// </summary>
 /// <param name="sub"></param>
 public void Subscribe(IInputSubscriber sub)
 {
     subs.Add(sub);
 }
Exemple #12
0
 public void RemoveSubscriber(IInputSubscriber subscriber)
 {
     subscribers.Remove(subscriber);
 }
Exemple #13
0
 public void AddSubscriber(IInputSubscriber subscriber)
 {
     subscribers.Add(subscriber);
 }
 public void RemoveSubscriber(IInputSubscriber subscriber)
 {
     throw new NotImplementedException();
 }
 public static void Subscribe(InputContext context, TimeContext timeContext, IInputSubscriber subscriber)
 {
     _singleton._subscribers.AddSubscriber(context, timeContext, subscriber);
 }
 public virtual void AssignSubscriber(IInputSubscriber inputSubscriber)
 {
     Page = inputSubscriber;
 }
Exemple #17
0
 //we can probably remove engine from this by simply
 //supplying an engine reference in update
 public InputSubscriber(IInputSubscriber sub)
 {
     subscriber    = sub;
     subscriptions = new List <string>();
 }
Exemple #18
0
 public void ReleasePage(IInputSubscriber page)
 {
     OnFocusLost();
     Page = null;
 }
Exemple #19
0
 public void AssignPage(IInputSubscriber page)
 {
     Page = page;
 }
 public void AddInput(IInputSubscriber input)
 {
     _inputs.Add(input);
 }