// --------------------- public JoystickState(JoystickConfig config) { this.config = config; this.dirState = new DirectionState(); this.dirState4 = new DirectionState(); this.dirState8 = new DirectionState(); this.Reset(); }
// ----------------- 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(); }
// ------------------- 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; } }