123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using DG.Tweening;
- using ET.EventType;
- using UnityEngine;
- namespace ET.Client
- {
- public static class CameraMgr
- {
- public static void Init()
- {
- var camera = GlobalViewMgr.Instance.BattleCamera;
- camera.transform.SetPositionAndRotation(new Vector3(70, 50, 0), Quaternion.Euler(35, 0, 0));
- camera.fieldOfView = 60;
- }
- //相机跟随主角
- public static void FollowMe(Vector3 pos)
- {
- /*var camera = Camera.main;
- pos.x += 7;
- pos.y = 15;
- pos.z -= 25;
- camera.transform.position = pos;*/
- }
- private static bool bShaking = false;
- public static void ShakeMe(float shakeTime, Vector3 shakeStength)
- {
- if (bShaking) return;
- bShaking = true;
- Transform trans = GlobalViewMgr.Instance.BattleCamera.transform;
- var savePos = trans.localPosition;
- Tweener tweener = trans.DOShakePosition(shakeTime, shakeStength);
- tweener.OnComplete<Tweener>(() =>
- {
- trans.localPosition = savePos;
- bShaking = false;
- });
- }
- public static Vector3 CarmeraPos()
- {
- return Camera.main.transform.position;
- }
- public static void DragMe(Vector3 start, Vector3 end, float duration, System.Action endcb)
- {
- Transform trans = GlobalViewMgr.Instance.BattleCamera.transform;
- trans.position = start;
- var tweener = trans.DOMove(end, duration);
- tweener.OnComplete<Tweener>(() =>
- {
- endcb ?.Invoke();
- });
- }
- }
- [Event]
- public class CameraEventHandler : BEvent<CameraEvent>
- {
- protected override async ETTask OnEvent(CameraEvent args)
- {
- var endpos = new Vector3(args.X, args.Y, args.Z);
- float time = (float)args.TimeMS / 1000;
- Transform trans = GlobalViewMgr.Instance.BattleCamera.transform;
- if (args.MoveSpeedSec > 0.0001 && time < 0.01)
- {
- var dis = Vector3.Distance(trans.position, endpos);
- time = dis / args.MoveSpeedSec;
- }
- trans.DOMove(endpos, time);
- await ETTask.CompletedTask;
- }
- }
- }
|