12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using CommonAI.Zone;
- using CommonAI.ZoneClient;
- using CommonLang.Geometry;
- using ET.Client;
- using ET.EventType;
- using System;
- namespace ET
- {
-
- public partial class BattleMgr
- {
- public void doUpdate()
- {
- SyncUnitPos();
- }
- private Vector3 VecTmp = new Vector3();
- private void SyncUnitPos()
- {
- if (UnitMgr.Instance != null)
- {
- foreach (var obj in UnitMgr.Instance.AllUnits)
- {
- if (obj is BattleUnit || obj is BattleSpell)
- {
-
- var zo = obj.ZoneObject;
- VecTmp.Set(zo.X, zo.Y, zo.Z);
- if (!VecTmp.Equal(obj.LastPos, 0.01f) || MathF.Abs(obj.LastRotation - zo.Direction) > 0.01f)
- {
- EventSystem.Instance.Publish<SyncUnitPosEvent>(SyncUnitPosEvent.Static.Clone(zo.ObjectID, VecTmp, zo.Direction));
- obj.LastPos.Set(VecTmp);
- obj.LastRotation = zo.Direction;
- }
- }
- }
- }
- }
- }
- }
|