public void HandleGlobal(StartMoveEvent moveEvent) { if (moveEvent.Origin == null) { return; } moveEvent.Origin.Tags.Add(EntityTags.Moving); var target = moveEvent.Origin.Get <MoveTarget>(); if (target == null) { target = new MoveTarget(); moveEvent.Origin.Add(target); } target.SetMoveTarget(moveEvent.GetPosition); CalculateFlight(moveEvent.Origin.Get <ArcMover>(), moveEvent.GetPosition, moveEvent.Origin.Get <MoveSpeed>()); }
public void HandleGlobal(ManagedArray <StartMoveEvent> arg) { for (int i = 0; i < arg.Count; i++) { var moveEvent = arg[i]; moveEvent.Origin.Tags.Add(EntityTags.Moving); var target = moveEvent.Origin.Get <MoveTarget>(); if (target == null) { target = new MoveTarget(moveEvent.Origin); moveEvent.Origin.Add(target); } target.TargetTr = moveEvent.Follow; target.TargetV3 = moveEvent.MoveTarget; moveEvent.Origin.Get <ArcMover>(m => CalculateFlight(m, moveEvent.GetPosition)); } }
public void Stop() { MoveTarget.ClearMove(); Entity.Tags.Remove(EntityTags.Moving); }