private void UpdateEOT(Ship.EOT requestedEOT) { if (lastEOT != requestedEOT) { switch (requestedEOT) { case Ship.EOT.Stop: shipTarget.Stop(); StartCoroutine(ChangeSelectorColor(neutral)); break; case Ship.EOT.FullAhead: shipTarget.FullAhead(); StartCoroutine(ChangeSelectorColor(ahead)); break; case Ship.EOT.HalfAhead: shipTarget.HalfAhead(); StartCoroutine(ChangeSelectorColor(ahead)); break; case Ship.EOT.FullAstern: shipTarget.FullAstern(); StartCoroutine(ChangeSelectorColor(astern)); break; case Ship.EOT.HalfAstern: shipTarget.HalfAstern(); StartCoroutine(ChangeSelectorColor(astern)); break; case Ship.EOT.SlowAhead: shipTarget.SlowAhead(); StartCoroutine(ChangeSelectorColor(ahead)); break; case Ship.EOT.SlowAstern: shipTarget.SlowAstern(); StartCoroutine(ChangeSelectorColor(astern)); break; default: break; } wheelSetAngle = GetEOTWheelAngle(requestedEOT); lastEOT = requestedEOT; } }
private float GetEOTWheelAngle(Ship.EOT EOT) { switch (EOT) { case Ship.EOT.Stop: return(0f); case Ship.EOT.SlowAhead: return(-sectionAngle * 1); case Ship.EOT.HalfAhead: return(-sectionAngle * 2); case Ship.EOT.FullAhead: return(-sectionAngle * 3); case Ship.EOT.SlowAstern: return(sectionAngle * 1); case Ship.EOT.HalfAstern: return(sectionAngle * 2); case Ship.EOT.FullAstern: return(sectionAngle * 3); default: return(0f); } }
public Move(Ship ship, Ship.EOT eot) { this.ship = ship; this.eot = eot; }