//* ────────────-_______________________* //* constructor & destructor ───────────────────────* //* -----------------------------------------------------------------------* /// <summary>コンストラクタ。</summary> /// /// <param name="strengthL">大モーター用の力の強さ。</param> /// <param name="strengthS">小モーター用の力の強さ。</param> /// <param name="durationL">大モーター用の持続するフレーム時間。</param> /// <param name="durationS">小モーター用の持続するフレーム時間。</param> public SForceData(SGradation strengthL, SGradation strengthS, int durationL, int durationS) : this() { this.strengthL = strengthL; this.strengthS = strengthS; this.durationL = durationL; this.durationS = durationS; }
//* -----------------------------------------------------------------------* /// <summary> /// XBOX360コントローラにフォースフィードバックを発信するスレッドです。 /// </summary> /// /// <param name="gradationL">大モーター速度のグラデーション</param> /// <param name="gradationS">小モーター速度のグラデーション</param> /// <param name="nTimeL">大モーター駆動時間</param> /// <param name="nTimeS">小モーター駆動時間</param> /// <returns>スレッドが実行される間、<c>true</c></returns> private IEnumerator <object> threadForceFeedback( SGradation gradationL, SGradation gradationS, int nTimeL, int nTimeS ) { for (int i = 0; i < Math.Max(nTimeL, nTimeS); i++) { yield return(null); forceLeft = MathHelper.Max(forceLeft, gradationL.smooth(i, nTimeL)); forceRight = MathHelper.Max(forceRight, gradationS.smooth(i, nTimeS)); } }