private void Awake() { if (OnCameraMove == null) { OnCameraMove = new CameraMoveEvent(); } }
public override void Trigger() { Beast attacker = Singleton <BeastManager> .singleton.GetBeastById(AttackerId); if (attacker != null && this.BeAttackIdList != null) { float disTemp = 0; foreach (var current in this.BeAttackIdList) { Beast beast = Singleton <BeastManager> .singleton.GetBeastById(current); if (beast != null) { float dis = Vector3.Magnitude(attacker.MovingPos - beast.MovingPos); if (dis > disTemp) { disTemp = dis; } } } int distance = (int)(disTemp / 1.4721999943256379f); if (this.record != null) { DataCameraDist data = DataCameraDist.GetDataByDistance(distance); if (data != null) { this.OffDis = data.CameraDist; } this.record.RecoverScale = CameraManager.Instance.Scale; this.record.RecoverLookAtPos = CameraManager.Instance.LookAtPos; this.record.RecoverCameraPos = CameraManager.Instance.GameNode.position; this.record.RecoverDist = CameraManager.Instance.Distance; this.record.RecorverDir = CameraManager.Instance.GameNode.forward; CameraManager.Instance.CameraMoveEffect = false; Vector3 recoverCameraPos = this.record.RecoverCameraPos; Vector3 recoverLookAtPos = this.record.RecoverLookAtPos; Vector3 destPos = attacker.MovingPos - this.OffDis * this.record.RecorverDir; Vector3 movingPos = attacker.MovingPos; float duration = this.Duration; CameraMoveEvent work = new CameraMoveEvent(recoverCameraPos, destPos, recoverLookAtPos, movingPos, Time.time, duration); attacker.AddWork(work); CameraManager.Instance.Lock = true; } } }
public override void createUI(ISkillEvent value, EditorUI p) { base.createUI(value, p); ev = value as CameraMoveEvent; formItem = new EditorVector3("偏移:"); formItem.value = ev.position; formItem.addEventListener(EventX.CHANGE, formHandle); checkRadio = new EditorRadio("获取焦点"); checkRadio.selected = ev.focusGet; checkRadio.addEventListener(EventX.CHANGE, checkRadioHandle); if (checkRadio.selected) { forceRadio = new EditorRadio("强转"); forceRadio.selected = ev.forceChange; forceRadio.addEventListener(EventX.CHANGE, checkRadioHandle); } p.addChild(formItem); p.addChild(checkRadio); }
public void OnRotateCamera(InputAction.CallbackContext context) { CameraMoveEvent.Invoke(context.ReadValue <Vector2>()); }