public override void OnEnter() { if (Target != null && Destination != null) { locomoteMover = Target.Value.gameObject.AddComponent <LocomoteToPointMover>(); PlayerLocoStyle.Style locomotionStyle = PlayerLocoStyle.Style.Walk; if (Style == LocomotionStyle.Run) { locomotionStyle = PlayerLocoStyle.Style.Run; } if (WaitForFinish) { locomoteMover.OnComplete += onLocomoteComplete; } locomoteMover.MoveToTarget(Destination.Value.transform, DistanceThreshold.Value, locomotionStyle, TimeoutTime, !WaitForFinish); disableOtherLocomotionControllers(); if (!WaitForFinish) { Finish(); } } else { Finish(); } }
public void StartPlayerMovement(Vector3 destination, Vector3 faceDirection) { destinationFinal = destination; this.faceDirection = faceDirection; destinationInitial = getInitialDestination(); mover = createLocomoteMover(); movementTransform = createMovementTransform(); startWalkInitial(); }