Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        public virtual int InitInput()
        {
            // Check number of virtual elements.
            if (numAxes < 0)
            {
                numAxes = axes.Length;
            }
            if (numButtons < 0)
            {
                numButtons = buttons.Length;
            }
            // Register virtual elements.
            mapInput = new Dictionary <string, EntryString>(numAxes + numButtons);
            int i;

            // VirtualAxis
            _aHandles = new VirtualAxis[numAxes];
            for (i = 0; i < numAxes; ++i)
            {
                _aHandles[i] = CrossInputManager.VirtualAxisReference(this, axes[i].key, true);
                mapInput.Add(axes[i].key, axes[i]);
            }
            // VirtualButton
            _bHandles = new VirtualButton[numButtons];
            for (i = 0; i < numButtons; ++i)
            {
                _bHandles[i] = CrossInputManager.VirtualButtonReference(this, buttons[i].key, true);
                mapInput.Add(buttons[i].key, buttons[i]);
            }

            // Load Setting
            // Load();
            return(0);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        public int EnterInputFrame()
        {
            if (mapMouse)
            {
                Vector3 vec = Input.mousePosition;
                CrossInputManager.SetVirtualMousePositionX(vec.x);
                CrossInputManager.SetVirtualMousePositionY(vec.y);
                CrossInputManager.SetVirtualMousePositionZ(vec.z);
            }

            int i;

            for (i = 0; i < numAxes; ++i)
            {
                _aHandles[i].Update(Input.GetAxisRaw(axes[i].value));
            }
            for (i = 0; i < numButtons; ++i)
            {
                if (Input.GetButtonDown(buttons[i].value))
                {
                    _bHandles[i].Pressed();
                }
                else if (Input.GetButtonUp(buttons[i].value))
                {
                    _bHandles[i].Released();
                }
            }
            return(0);
        }
        /// <summary>
        ///
        /// </summary>
        public virtual void InitInput(Object context, string fmt)
        {
            string[] entries;
            int      i, imax;

            //
            entries        = GetPoseStrings();
            i              = 0; imax = entries.Length;
            m_VirtualPoses = new VirtualPose[imax];
            for (; i < imax; ++i)
            {
                m_VirtualPoses[i] = CrossInputManager.VirtualPoseReference(context, string.Format(fmt, entries[i], true));
            }
            //
            entries       = GetAxisStrings();
            i             = 0; imax = entries.Length;
            m_VirtualAxes = new VirtualAxis[imax];
            for (; i < imax; ++i)
            {
                m_VirtualAxes[i] = CrossInputManager.VirtualAxisReference(context, string.Format(fmt, entries[i], true));
            }
            //
            entries          = GetButtonStrings();
            i                = 0; imax = entries.Length;
            m_VirtualButtons = new VirtualButton[imax];
            for (; i < imax; ++i)
            {
                m_VirtualButtons[i] = CrossInputManager.VirtualButtonReference(context, string.Format(fmt, entries[i], true));
            }
            m_IsPress = new bool[imax];
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        protected virtual void Awake()
        {
            //
            if (main != null)
            {
                if (main != this)
                {
                    Object.Destroy(this.gameObject);
                    return;
                }
            }
            //
            if (!useCrossInput)
            {
                // Roll back...
                CrossInputManager.activeInput = new StandaloneInput();
                Object.Destroy(this.gameObject);
                return;
            }

            CrossInputManager.activeInput = new CustomizeInput();
            main = this;
            if (dontDestroyOnLoad)
            {
                Object.DontDestroyOnLoad(this.gameObject);
            }

            IInputSource source;

            numSources = 0;
            int i = 0, imax = m_Sources.Length;

            sources = new List <IInputSource>(imax);
            for (; i < imax; ++i)
            {
                // Fix gameObject...
                if (m_Sources[i] == null || !m_Sources[i].gameObject.activeInHierarchy)
                {
                    continue;
                }
                source = m_Sources[i] as IInputSource;
                if (source != null)
                {
                    if (source.enabled)
                    {
                        if (source.InitInput() == 0)
                        {
                            sources.Add(source);
                            numSources++;
                        }
                    }
                }
            }
            //
            PrintLogOnStartup();
            //
            _waitEof = new WaitForEndOfFrame();
            StartCoroutine(UpdateOnEof());
        }
Esempio n. 5
0
        public virtual void InitInput(string fmtAxis, string[] axes, string fmtButton, string[] buttons, string poseName)
        {
            int i, imax;

            //
            i      = 0; imax = axes.Length;
            m_Axes = new VirtualAxis[imax]; m_MapAxes = new Dictionary <string, VirtualAxis>(imax);
            for (; i < imax; ++i)
            {
                m_Axes[i] = CrossInputManager.VirtualAxisReference(this, string.Format(fmtAxis, axes[i]), true);
                m_MapAxes.Add(axes[i], m_Axes[i]);               // Add the raw input name.
            }
            //
            i         = 0; imax = buttons.Length;
            m_Buttons = new VirtualButton[imax]; m_MapButtons = new Dictionary <string, VirtualButton>(imax);
            for (; i < imax; ++i)
            {
                m_Buttons[i] = CrossInputManager.VirtualButtonReference(this, string.Format(fmtButton, buttons[i]), true);
                m_MapButtons.Add(buttons[i], m_Buttons[i]);               // Add the raw input name.
            }
            //
            pose = CrossInputManager.VirtualPoseReference(this, poseName, true);
        }
 // removes an axes from the cross platform input system
 public void Remove()
 {
     CrossInputManager.UnRegisterVirtualAxis(name);
 }
 protected void AddButton(string name)
 {
     // we have not registered this button yet so add it, happens in the constructor
     CrossInputManager.RegisterVirtualButton(new VirtualButton(name));
 }