private void CameraDeadHandler(bool enabled, CameraStateParam stateParam) { if (enabled) { if (isSurvivalMode) { HandleModeForceSwitch(CameraMode.UserControl); } else { HandleModeForceSwitch(CameraMode.DeadControl); } } else { if (EntityFactory.MainHeroView != null) { this.soldier = EntityFactory.MainHeroView; if (SwitchLookAtSoliderEvent != null) { SwitchLookAtSoliderEvent(EntityFactory.MainHeroView); } NormalFocusPosCheckTime = NormalFocusPosMaxCheckTime + 1; //旧的死亡模式 } RefreshCameraMode(); } }
private void CameraOBMoveFreeHandler(bool enabled, CameraStateParam stateParam) { if (enabled) { if (stateParam != null) { OBMoveFreeModeController.OBMoveFreeContext context = new OBMoveFreeModeController.OBMoveFreeContext(); context.pos = this.soldier.gameObject.transform.position; context.angle = CurrentCamera.transform.eulerAngles; context.dir = new Vector3(0, 0, -1); context.tran = Vector3.zero; context.distance = 8; context.fov = 60; HandleModeForceSwitch(CameraMode.OBMoveFree, context); } else { HandleModeForceSwitch(CameraMode.OBMoveFree); } } else { if (camCtrl.GetCameraMode() == CameraMode.OBMoveFree) { RefreshCameraMode(); } } }
//外部接口,控制状态开关 public void EnableMode(CameraMode mode, bool enabled, CameraStateParam param = null) { if (param != null) { param.Set(mode, enabled); } CamStateChangeMsg msg = new CamStateChangeMsg(mode, enabled, param); stateChangeMsgsQueue.Add(msg); }
private void CameraAminationHandler(bool enabled, CameraStateParam obj) { if (enabled) { CamAnimStateParam param = obj as CamAnimStateParam; PlayCameraAnim(param.clip, param.animOrgType, param.projectFloor, param.targetPos, param.sourceTransform, param.animationMainCamera); } else { StopCameraAnim(); } }
private void CameraWarEndHandler(bool enabled, CameraStateParam obj) { if (enabled) { WarEndStateParam param = obj as WarEndStateParam; EnterWarEndMode(param.pos, param.nWinFlag); } else { StopWarEnd(); } }
private void CameraRidingHandler(bool enabled, CameraStateParam obj) { if (enabled) { RidingStateParam param = obj as RidingStateParam; EnableRidingMode(param.distance, param.angleRange); } else { DisableRidingMode(); } }
private void CameraFloatingHandler(bool enabled, CameraStateParam obj) { if (enabled) { HandleModeForceSwitch(CameraMode.FloatingControl); } else { if (camCtrl.GetCameraMode() == CameraMode.FloatingControl) { RefreshCameraMode(); } } }
private void CameraFpsHandler(bool enabled, CameraStateParam obj) { if (enabled) { HandleModeForceSwitch(CameraMode.FPSMode); } else { if (camCtrl.GetCameraMode() == CameraMode.FPSMode) { RefreshCameraMode(); } } }
private void CameraOBHeroLockHandler(bool enabled, CameraStateParam stateParam) { if (enabled) { HandleModeForceSwitch(CameraMode.OBHeroLock); } else { if (camCtrl.GetCameraMode() == CameraMode.OBHeroLock) { RefreshCameraMode(); } } }
//进入上帝之眼EnterGodEyeMode(pos,angle,new Vector3(0,0,-1),new Vector3(0,0,0),20.0f,60.0f); private void CameraMapGodEyeHandler(bool enabled, CameraStateParam obj) { if (enabled) { if (obj == null) { EnterMapGodEyeMode(); } else { GodEyeStateParam param = obj as GodEyeStateParam; EnterMapGodEyeMode(param.pos, param.angle, param.dir, param.tran, param.distance, param.fov, param.isMiniMap); } } else { LeaveGodEyeMode(); } }
public CamStateChangeMsg(CameraMode mode, bool enabled, CameraStateParam param) { this.mode = mode; this.enabled = enabled; this.param = param; }