public void PushMenuToBack(IInputSubscriber subscriber) { if (subscriberMenuList.Remove(subscriber)) { subscriberMenuList.Add(subscriber); } }
public void PushMenuToFront(IInputSubscriber subscriber) { if (subscriberMenuList.Remove(subscriber)) { subscriberMenuList.Insert(0, subscriber); } }
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)); }
/// <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; }
public override void AssignSubscriber(IInputSubscriber inputSubscriber) { base.AssignSubscriber(inputSubscriber); foreach (var joystickDeviceAdapter in _joysticks) { joystickDeviceAdapter.Value.AssignPage(Page); } }
/// <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); }
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); }
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); }
public void RemoveSubscriber(IInputSubscriber subscriber) { subscribers.Remove(subscriber); }
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; }
//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>(); }
public void ReleasePage(IInputSubscriber page) { OnFocusLost(); Page = null; }
public void AssignPage(IInputSubscriber page) { Page = page; }
public void AddInput(IInputSubscriber input) { _inputs.Add(input); }