void Start()
    {
        #if (UNITY_ANDROID || UNITY_IPHONE) && !UNITY_EDITOR
            this.inputHandler = TouchHandler;
        #else
            this.inputHandler = MouseHandler;
        #endif

        paddleMinXPos = -53 + transform.localScale.x/2;
        paddleMaxXPos = 53 - transform.localScale.x/2;
    }
Esempio n. 2
0
    void Awake()
    {
        if(camera != null)
            _mainCamera = camera;
        else
            _mainCamera = Camera.mainCamera;

        #if (UNITY_IPHONE || UNITY_ANDROID) && !UNITY_EDITOR
        InputHandler += TouchInputHandler;
        #else
        InputHandler += MouseInputHandler;
        #endif
    }
Esempio n. 3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="id">(Not unique) id of the input being handled</param>
        /// <param name="onStart">(Optional) handler for start event</param>
        /// <param name="onChange">(Optional) handler for change/move event</param>
        /// <param name="onEnd">(Optional) handler for end event</param>
        public InputHandler(int id, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd)
        {
            this.id     = id;
            this.status = EventStatus.None;

            if (onStart != null)
            {
                this.onStart += onStart;
            }
            if (onChange != null)
            {
                this.onChange += onChange;
            }
            if (onEnd != null)
            {
                this.onEnd += onEnd;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Listen for touch events (finger down -> move -> release)
        /// </summary>
        /// <param name="fingerId">Zero based index for which finger id to bind to</param>
        /// <param name="onTouchStart">(Optional) handler function for touch begin event</param>
        /// <param name="onTouchMove">(Optional) handler function for touch move event</param>
        /// <param name="onTouchEnd">(Optional) handler function for touch end event</param>
        /// <param name="pointHistoryLength">The number of seconds history that should be kept</param>
        /// <returns>The InputHandler object. Pass it to RemoveListener to remove the listener.</returns>
        public static InputHandler AddListenerTouch(int fingerId, InputHandlerDelegate onTouchStart, InputHandlerDelegate onTouchMove, InputHandlerDelegate onTouchEnd, float pointHistoryLength = 5.0f)
        {
            InputHandlerTouch ih = new InputHandlerTouch(fingerId, onTouchStart, onTouchMove, onTouchEnd, pointHistoryLength);

            instance.inputHandler.Add(ih);
            return(ih);
        }
Esempio n. 5
0
        /// <summary>
        /// Listen for touch or mouse events (down -> move -> release)
        /// </summary>
        /// <param name="onStart">(Optional) handler function for * down event</param>
        /// <param name="onChange">(Optional) handler function for * move event</param>
        /// <param name="onEnd">(Optional) handler function for * up event</param>
        /// <param name="pointHistoryLength">The number of seconds history that should be kept</param>
        /// <returns>The InputHandler object. Pass it to RemoveListener to remove the listener.</returns>
        public static InputHandler AddListenerTouchOrMouse(InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd, float pointHistoryLength = 5.0f)
        {
            InputHandlerTouchOrMouse ih = new InputHandlerTouchOrMouse(onStart, onChange, onEnd, pointHistoryLength);

            instance.inputHandler.Add(ih);
            return(ih);
        }
Esempio n. 6
0
        /// <summary>
        /// Listen for mouse drag events (mouse down -> move -> release)
        /// </summary>
        /// <param name="mouseButton">Which mouse button are we binding to</param>
        /// <param name="onMouseDown">(Optional) handler for mouse down event</param>
        /// <param name="onMouseMove">(Optional) handler for mouse move event</param>
        /// <param name="onMouseUp">(Optional) handler for mouse up event</param>
        /// <param name="pointHistoryLength">The number of seconds history that should be kept</param>
        /// <returns>The InputHandler object. Pass it to RemoveListener to remove the listener.</returns>
        public static InputHandler AddListenerMouseDrag(int mouseButton, InputHandlerDelegate onMouseDown, InputHandlerDelegate onMouseMove, InputHandlerDelegate onMouseUp, float pointHistoryLength = 5.0f)
        {
            InputHandlerMouseDrag ih = new InputHandlerMouseDrag(mouseButton, onMouseDown, onMouseMove, onMouseUp, pointHistoryLength);

            instance.inputHandler.Add(ih);
            return(ih);
        }
Esempio n. 7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="onStart">(Optional) handler for start event</param>
 /// <param name="onChange">(Optional) handler for change/move event</param>
 /// <param name="onEnd">(Optional) handler for end event</param>
 public InputHandlerTouchOrMouse(InputHandlerDelegate OnStart, InputHandlerDelegate OnChange, InputHandlerDelegate OnEnd, float pointHistoryLength = 5.0f)
     : base(-1, null, null, null)
 {
     this.OnStart  = OnStart;
     this.OnChange = OnChange;
     this.OnEnd    = OnEnd;
     inputHandler  = new List <InputHandler>();
 }
Esempio n. 8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="onChange">The function to call when mouse moves</param>
 public InputHandlerMouseMove(InputHandlerDelegate onChange, float pointHistoryLength = 5.0f)
     : base(-1, null, onChange, null, pointHistoryLength)
 {
     AddPosition(Input.mousePosition);
 }
Esempio n. 9
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="id">Finger id to bind to</param>
 /// <param name="onStart">(Optional) handler for start event</param>
 /// <param name="onChange">(Optional) handler for change/move event</param>
 /// <param name="onEnd">(Optional) handler for end event</param>
 public InputHandlerTouch(int id, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd, float pointHistoryLength = 5.0f)
     : base(id, onStart, onChange, onEnd, pointHistoryLength)
 {
     if (Input.touchCount != 0)
     {
         for (int i = 0; i < Input.touches.Length; i++)
         {
             if (Input.touches[i].fingerId == id && Input.touches[i].phase != TouchPhase.Canceled && Input.touches[i].phase != TouchPhase.Ended)
             {
                 AddPosition(Input.touches[i].position);
                 Start();
             }
         }
     }
 }
Esempio n. 10
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="id">The id of the pointer</param>
 /// <param name="onStart">(Optional) handler for start event</param>
 /// <param name="onChange">(Optional) handler for change/move event</param>
 /// <param name="onEnd">(Optional) handler for end event</param>
 public InputHandlerPointer(int id, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd, float pointHistoryLength)
     : base(id, onStart, onChange, onEnd)
 {
     this.pointHistoryLength = pointHistoryLength;
     positions = new List <Vector3Time>();
 }
Esempio n. 11
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="id">Mouse button to bind to</param>
 /// <param name="onStart">(Optional) handler for start event</param>
 /// <param name="onChange">(Optional) handler for change/move event</param>
 /// <param name="onEnd">(Optional) handler for end event</param>
 public InputHandlerMouseDrag(int id, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd, float pointHistoryLength = 5.0f)
     : base(id, onStart, onChange, onEnd, pointHistoryLength)
 {
     if (Input.GetMouseButton(id))
     {
         AddPosition(Input.mousePosition);
         Start();
     }
 }
 public InputHandlerAxisButton(string inputName, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd)
     : base(inputName.GetHashCode(), onStart, onChange, onEnd)
 {
     this.inputName = inputName;
 }
        /// <summary>
        /// Listen for named button press/release
        /// </summary>
        /// <param name="buttonName">Name of the button to listen for</param>
        /// <param name="onButtonDown">Function to call when button is pressed</param>
        /// <param name="onButtonUp">Function to call when button is released</param>
        /// <returns>The InputHandler object. Pass it to RemoveListener to remove the listener.</returns>
        public static InputHandler AddListenerButton(string buttonName, InputHandlerDelegate onButtonDown, InputHandlerDelegate onButtonUp)
        {
            InputHandlerButton ih = new InputHandlerButton(buttonName, onButtonDown, onButtonUp);

            instance.inputHandler.Add(ih);
            return(ih);
        }
        /// <summary>
        /// Listen for input axis value changes
        /// </summary>
        /// <param name="axisName">Name of the axis to listen for changes on</param>
        /// <param name="onAxisStart">Function to call when axis starts to change</param>
        /// <param name="onAxisChange">Function to call when axis value changes</param>
        /// <param name="onAxisStop">Function to call when axis returns to neutral</param>
        /// <param name="axisNeutral">The axis value to consider the axis as off</param>
        /// <returns>The InputHandler object. Pass it to RemoveListener to remove the listener.</returns>
        public static InputHandler AddListenerAxis(string axisName, InputHandlerDelegate onAxisStart, InputHandlerDelegate onAxisChange, InputHandlerDelegate onAxisStop, float axisNeutral = 0.0f)
        {
            InputHandlerAxis ih = new InputHandlerAxis(axisName, onAxisStart, onAxisChange, onAxisStop, axisNeutral);

            instance.inputHandler.Add(ih);
            return(ih);
        }
 /// <summary>
 /// Constructot
 /// </summary>
 /// <param name="buttonName">Name of the button to listen for press/release on</param>
 /// <param name="onButtonDown">Function to call when button is pressed</param>
 /// <param name="onButtonUp">Function to call when button is released</param>
 public InputHandlerButton(string buttonName, InputHandlerDelegate onButtonDown, InputHandlerDelegate onButtonUp)
     : base(buttonName, onButtonDown, null, onButtonUp)
 {
     if (Input.GetButton(buttonName))
     {
         Start();
     }
 }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="axisName">Name of the axis to listen for changes on</param>
        /// <param name="onStart">Function to call when axis goes from "off" to "on"</param>
        /// <param name="onChange">Function to call when the axis value changes</param>
        /// <param name="onEnd">Function to call when the axis goes from "on" to "off"</param>
        /// <param name="axisNeutral">The value at which the axis is considered "off"</param>
        public InputHandlerAxis(string axisName, InputHandlerDelegate onStart, InputHandlerDelegate onChange, InputHandlerDelegate onEnd, float axisNeutral)
            : base(axisName, onStart, onChange, onEnd)
        {
            this.axisNeutral = axisNeutral;
            lastAxis         = Input.GetAxis(axisName);

            if (lastAxis != axisNeutral)
            {
                Start();
            }
        }