protected virtual void FixedUpdate() { CameraActor.ViewMode iViewMode = this._iViewMode; switch (iViewMode + 1) { case CameraActor.ViewMode.FixChasingRot: base.get_transform().LookAt(this._vPointOfGaze); break; case CameraActor.ViewMode.ZoomChasing: this._fixChasingRot(); break; case CameraActor.ViewMode.ZoomChasingUp: this._zoomChasing(); break; case CameraActor.ViewMode.SmoothMove: this._zoomChasingUp(); break; case CameraActor.ViewMode.SmoothMoveKI2ndEdition: this._smoothMove(); break; case CameraActor.ViewMode.FixedPositionChasing: this._smoothMoveKI2ndEdition(); break; case CameraActor.ViewMode.RotateAroundObject: this._fixedPositionChasing(); break; case CameraActor.ViewMode.Rotation: this._rotateAroundObject(); break; case CameraActor.ViewMode.Bezier: this._rotation(); break; case (CameraActor.ViewMode) 11: this._bezier(); break; } }
public virtual void ReqViewMode(CameraActor.ViewMode iView) { this._iViewMode = iView; }
protected virtual void _initCameraState() { this._fYAxisLimit = 0f; this._fSmoothCorrectionY = 0f; this._isThroughMaxY = false; CameraActor.ViewMode iViewMode = this._iViewMode; switch (iViewMode + 1) { case CameraActor.ViewMode.FixChasing: base.get_transform().set_position(this._vSrcPos); base.get_transform().set_rotation(this._quaSrcRot); this._vSmoothVelocity = Vector3.get_zero(); break; case CameraActor.ViewMode.FixChasingRot: base.get_transform().set_position(this._vDestPos); base.get_transform().LookAt(this._vPointOfGaze); break; case CameraActor.ViewMode.ZoomChasing: base.get_transform().set_position(this._vSrcPos); this._quaTempRot = base.get_transform().get_rotation(); break; case CameraActor.ViewMode.ZoomChasingUp: { float num = this._fSmoothDistance / Vector3.Distance(this._vPointOfGaze, base.get_transform().get_position()); this._vDestPos = this._vPointOfGaze + (base.get_transform().get_position() - this._vPointOfGaze) * num; this._vSmoothVelocity = Vector3.get_zero(); this._fSmoothTime = 0.2f; this._isAdjust = false; base.get_transform().LookAt(this._vPointOfGaze); break; } case CameraActor.ViewMode.SmoothMove: { float num2 = this._fSmoothDistance / Vector3.Distance(this._vPointOfGaze, base.get_transform().get_position()); this._vDestPos = this._vPointOfGaze + (base.get_transform().get_position() - this._vPointOfGaze) * num2; this._vSmoothVelocity = Vector3.get_zero(); this._fSmoothTime = 0.2f; this._isAdjust = false; this._fAdjustY = base.get_transform().get_position().y + 10f; base.get_transform().LookAt(this._vPointOfGaze); break; } case CameraActor.ViewMode.SmoothMoveKI2ndEdition: case CameraActor.ViewMode.FixedPositionChasing: base.get_transform().set_position(this._vSrcPos); base.get_transform().set_rotation(this._quaSrcRot); break; case CameraActor.ViewMode.RotateAroundObject: base.get_transform().set_position(this._vPointOfGaze + base.get_transform().TransformDirection(Vector3.get_back() * this._fSmoothDistance)); base.get_transform().set_rotation(this._quaDestRot); this._vSmoothVelocity = Vector3.get_zero(); this._fSmoothTime = 0.1f; this._fSmoothCorrectionY = 6f; break; case CameraActor.ViewMode.Rotation: { Vector3 vector = Mathe.Direction(this._vPointOfGaze, this._vDestPos); Vector3 vector2 = this._quaDestRot * vector; base.get_transform().set_position(this._vPointOfGaze + vector2); base.get_transform().LookAt(this._vPointOfGaze); this._vSmoothVelocity = Vector3.get_zero(); break; } case CameraActor.ViewMode.Bezier: base.get_transform().set_position(this._vSrcPos); base.get_transform().set_rotation(this._quaSrcRot); break; case (CameraActor.ViewMode) 11: this.eyePosition = this._vSrcPos; this.eyeRotation = this._quaSrcRot; this._fBezierTime = 0f; break; } }
protected virtual void Awake() { this._iViewMode = CameraActor.ViewMode.Fix; this._vSmoothVelocity = Vector3.get_zero(); this._iAxis = CameraActor.Axis.None; }