Example #1
0
        // ---------------------
        public JoystickState(JoystickConfig config)
        {
            this.config = config;

            this.dirState  = new DirectionState();
            this.dirState4 = new DirectionState();
            this.dirState8 = new DirectionState();


            this.Reset();
        }
Example #2
0
        // -----------------
        private void BasicConstructor(TouchGestureThresholds thresholds, TouchGestureConfig config)
        {
            this.config = config;
            this.thresh = thresholds;


            this.swipeDirState  = new DirectionState();
            this.swipeDirState4 = new DirectionState();
            this.swipeDirState8 = new DirectionState();


            this.Reset();
        }
Example #3
0
        // -------------------
        public void SyncDirectionState(DirectionState dirState, InputRig rig)
        {
            switch (this.bindMode)
            {
            case BindMode.Normal:
                this.SyncDirRaw(dirState.GetCur(), rig);
                break;

            case BindMode.OnChange:
                if (dirState.GetCur() != dirState.GetPrev())
                {
                    this.SyncDirRaw(dirState.GetCur(), rig);
                }
                break;

            case BindMode.OnRelease:
                if ((dirState.GetCur() == Dir.N) && (dirState.GetPrev() != Dir.N))
                {
                    this.SyncDirRaw(dirState.GetPrev(), rig);
                }
                break;

            case BindMode.OriginalOnStart:
                if ((dirState.GetOriginal() != Dir.N) && (dirState.GetPrevOriginal() != dirState.GetOriginal()))
                {
                    this.SyncDirRaw(dirState.GetOriginal(), rig);
                }
                break;

            case BindMode.OriginalUntilChange:
                if ((dirState.GetOriginal() != Dir.N) && (dirState.GetOriginal() == dirState.GetCur()))
                {
                    this.SyncDirRaw(dirState.GetOriginal(), rig);
                }
                break;

            case BindMode.OriginalUntilRelease:
                if ((dirState.GetOriginal() != Dir.N))                 // && (dirCur != Dir.N))
                {
                    this.SyncDirRaw(dirState.GetOriginal(), rig);
                }
                break;
            }
        }