public void SetCutin(InputState prestate) { if (FaderState != prestate.FaderState) { CutinState = FaderState; } else { CutinState = EnumFaderState.NONE; } }
/// <summary> /// カットイン /// </summary> /// <param name="cutstate"></param> public void Cutin(EnumFaderState cutstate) { if (this.ActiveState == EnumActiveState.NEXT) { if (quecount <= 0) { if (judge == EnumJudge.NOTYET) { if ((lr == CdjData.Left && cutstate == EnumFaderState.LEFT) || (lr == CdjData.Right && cutstate == EnumFaderState.RIGHT)) { if (Math.Abs(now.judgementlinestep - startstep) < 5) { judge = EnumJudge.PERFECT;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) < 7) { judge = EnumJudge.GREAT;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) < 10) { judge = EnumJudge.GOOD;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) > 96) { judge = EnumJudge.BAD; } Random random = new Random(); DrawEffect.AddJudge(judge, lr, 1); for (int i = 0; i < 20; i++) { DrawEffect.AddParticle(now.millis + i * 10, (int)(datacalc.realtimelinex(lr) + 20 + random.NextDouble() * 10), (int)(datacalc.JudgeLineY), random.NextDouble() * 20 + 10, -random.NextDouble() * Math.PI * 1); } } } } } }
public static void SetFaderValue(int value) { _fader_value = value; if (value < _fader_min) { _fader_value = _fader_min; } if (value > _fader_max) { _fader_value = _fader_max; } _fader_cutin_state = EnumFaderState.NONE; if (_fader_value < _fader_centermin) { if (_fader_state != EnumFaderState.LEFT) { _fader_cutin_state = EnumFaderState.LEFT; } _fader_state = EnumFaderState.LEFT; } else if (_fader_value > _fader_centermax) { if (_fader_state != EnumFaderState.RIGHT) { _fader_cutin_state = EnumFaderState.RIGHT; } _fader_state = EnumFaderState.RIGHT; } else { if (_fader_state != EnumFaderState.CENTER) { _fader_cutin_state = EnumFaderState.CENTER; } _fader_state = EnumFaderState.CENTER; } }