Exemple #1
0
 public ControllerButtonSelecter(
     IControllerButton selectedButton
     )
 {
     controllers = new List <IController <ControllerSelect> >();
     Focus(selectedButton);
 }
Exemple #2
0
        /// <summary>
        /// ボタンにフォーカスを当てる
        /// </summary>
        /// <param name="next"></param>
        public void Focus(IControllerButton next)
        {
            CursorButton?.Update(ButtonOperation.Exit);
            next.Update(ButtonOperation.Enter);

            CursorButton = next;
        }
Exemple #3
0
        /// <summary>
        /// その向きにボタンを接続する。
        /// </summary>
        /// <param name="dir"></param>
        /// <param name="button"></param>
        /// <returns></returns>
        public IControllerButton SetButton(ButtonDirection dir, IControllerButton button)
        {
            if (button == null)
            {
                throw new ArgumentNullException(nameof(button));
            }

            connectedButtons[dir] = button;
            return(this);
        }
Exemple #4
0
        /// <summary>
        /// ボタンを相互に接続し、繋げていく。
        /// </summary>
        /// <param name="next"></param>
        /// <param name="dir"></param>
        /// <returns></returns>
        public IControllerButton Chain(IControllerButton next, ButtonDirection dir)
        {
            if (next == null)
            {
                throw new ArgumentNullException(nameof(next));
            }

            this.SetButton(dir, next);
            next.SetButton(dir.Reverse(), this);

            return(next);
        }
Exemple #5
0
 public void AddButton(Button button, IControllerButton mapping)
 {
     Buttons.Add(button);
     ButtonMappings[button] = mapping;
 }