private void FixedUpdate() { if (this._isShake) { if (this._fShakeIntensity > 0f) { if (this._isShakePos) { base.get_transform().set_position(this._vOriginPosition + XorRandom.GetInsideUnitSphere(this._fShakeIntensity)); } if (this._isShakeRot) { base.get_transform().set_rotation(new Quaternion(this._quaOriginRotation.x + XorRandom.GetFLim(-this._fShakeIntensity, this._fShakeIntensity) * 2f, this._quaOriginRotation.y + XorRandom.GetFLim(-this._fShakeIntensity, this._fShakeIntensity) * 2f, this._quaOriginRotation.z + XorRandom.GetFLim(-this._fShakeIntensity, this._fShakeIntensity) * 2f, this._quaOriginRotation.w + XorRandom.GetFLim(-this._fShakeIntensity, this._fShakeIntensity) * 2f)); } this._fShakeIntensity -= this._fShakeDecay; } else { Observable.TimerFrame(2, FrameCountType.EndOfFrame).Subscribe(delegate(long _) { this._isShake = false; if (this._actCallback != null) { this._actCallback.Invoke(); } }); } } }
private void FixedUpdate() { if (!_isShake) { return; } if (_fShakeIntensity > 0f) { if (_isShakePos) { base.transform.position = _vOriginPosition + XorRandom.GetInsideUnitSphere(_fShakeIntensity); } if (_isShakeRot) { base.transform.rotation = new Quaternion(_quaOriginRotation.x + XorRandom.GetFLim(0f - _fShakeIntensity, _fShakeIntensity) * 2f, _quaOriginRotation.y + XorRandom.GetFLim(0f - _fShakeIntensity, _fShakeIntensity) * 2f, _quaOriginRotation.z + XorRandom.GetFLim(0f - _fShakeIntensity, _fShakeIntensity) * 2f, _quaOriginRotation.w + XorRandom.GetFLim(0f - _fShakeIntensity, _fShakeIntensity) * 2f); } _fShakeIntensity -= _fShakeDecay; } else { Observable.TimerFrame(2, FrameCountType.EndOfFrame).Subscribe(delegate { _isShake = false; if (_actCallback != null) { _actCallback(); } }); } }
public static Vector2 GetInsideUnitCircle(float radius) { return(XorRandom.GetInsideUnitSphere(radius)); }