private void CalcuForNormal(IUserCmd cmd, PlayerEntity player, Vector3 archotRotation, CameraStateOutputNewComponent result) { DummyCameraMotorState.Convert(player.cameraStateNew, _state); DummyCameraMotorInput _input = (DummyCameraMotorInput)player.cameraStateNew.CameraMotorInput; _input.Generate(_context, player, cmd, archotRotation.y, archotRotation.x); for (int i = 0; i < (int)SubCameraMotorType.End; i++) { var type = (SubCameraMotorType)i; SetNextMotor(player, type, _state, _input); } CameraActionManager.OnAction(player, _state); player.cameraStateUpload.EnterActionCode = CameraActionManager.GetActionCode(CameraActionType.Enter); player.cameraStateUpload.LeaveActionCode = CameraActionManager.GetActionCode(CameraActionType.Leave); CameraActionManager.ClearActionCode(); player.cameraStateNew.CameraMotorInput = player.cameraStateNew.LastCameraMotorInput; player.cameraStateNew.LastCameraMotorInput = _input; CalcFinalOutput(player, (DummyCameraMotorInput)player.cameraStateNew.LastCameraMotorInput, result, _state); }
public void ExecuteUserCmd(IUserCmdOwner owner, IUserCmd cmd) { _cmdSeq = cmd.Seq; PlayerEntity player = owner.OwnerEntity as PlayerEntity; if (!player.hasCameraStateNew) { return; } if (!player.hasCameraStateOutputNew) { return; } DummyCameraMotorState.Convert(player.cameraStateNew, _state); DummyCameraMotorInput _input = (DummyCameraMotorInput)player.cameraStateNew.CameraMotorInput; var archotRotation = player.cameraArchor.ArchorEulerAngle; _input.Generate(player, cmd, archotRotation.y, archotRotation.x); //if (_input.IsChange(player.cameraStateNew.LastCameraMotorInput)) { foreach (SubCameraMotorType i in _subCameraMotorTypeArray) { var type = i; SetNextMotor(player, type, _state, _input); } } CameraActionManager.OnAction(player, _state); player.cameraStateUpload.EnterActionCode = CameraActionManager.GetActionCode(CameraActionType.Enter); player.cameraStateUpload.LeaveActionCode = CameraActionManager.GetActionCode(CameraActionType.Leave); CameraActionManager.ClearActionCode(); player.cameraStateNew.CameraMotorInput = player.cameraStateNew.LastCameraMotorInput; player.cameraStateNew.LastCameraMotorInput = _input; CalcFinalOutput(player, (DummyCameraMotorInput)player.cameraStateNew.LastCameraMotorInput, player.cameraStateOutputNew); DummyCameraMotorState.Convert(_state, player.cameraStateNew); CopyStateToUploadComponent(player.cameraStateNew, player.cameraStateUpload); player.cameraStateUpload.ArchorType = (Byte)player.cameraArchor.ArchorType; }
public void ExecuteUserCmd(IUserCmdOwner owner, IUserCmd cmd) { PlayerEntity player = owner.OwnerEntity as PlayerEntity; if (!player.hasCameraStateNew) { return; } if (!player.hasCameraStateOutputNew) { return; } CopyClientStateToComponent(player.cameraStateUpload, player.cameraStateNew); player.cameraArchor.ArchorType = (ECameraArchorType)player.cameraStateUpload.ArchorType; CameraActionManager.CopyActionCode(CameraActionType.Enter, player.cameraStateUpload.EnterActionCode); CameraActionManager.CopyActionCode(CameraActionType.Leave, player.cameraStateUpload.LeaveActionCode); CameraActionManager.OnAction(player, _state); }