void Update() { if (IsSpinning()) { float rotationSpeed; if (_reelSpeed == ReelSpeed.Fast) { rotationSpeed = rotationSpeedFast; } else if (_reelSpeed == ReelSpeed.Medium) { rotationSpeed = rotationSpeedMedium; } else { rotationSpeed = rotationSpeedSlow; } transform.Rotate(new Vector3(rotationSpeed, 0, 0)); _degressLeft -= rotationSpeed; _reelSpeed = SlowDown(_reelSpeed); } }
public void StartRotation(SymbolType st) { transform.Rotate(new Vector3(-_degreesTotal, 0, 0)); _degreesTotal = _degressLeft = Symbol.SymbolMetadata[st] + 360 * numberOfSpins; _reelSpeed = ReelSpeed.Fast; }
private ReelSpeed SlowDown(ReelSpeed rs) { if (_degressLeft > _degreesTotal * 0.3) { return(ReelSpeed.Fast); } else if (_degressLeft > _degreesTotal * 0.1) { return(ReelSpeed.Medium); } else if (_degressLeft > 0) { return(ReelSpeed.Slow); } else { return(ReelSpeed.Idle); } }
void Start() { _reelSpeed = ReelSpeed.Idle; }