public static IEnumerator PatrolUntilSight(DefaultMovement movement, PatrolParameters parameters, Sight sight) { return(AsyncUtil.Race(new IEnumerator[] { PatrolForever(movement, parameters), AsyncUtil.WaitUntil(() => sight.GetVisibleObject() != null), })); }
public static IEnumerator LineUp(Transform target, Transform from, DefaultMovement movement, Sight sight, float targetOffset, float moveSpeed) { do { movement.TargetVelocity = TargetVelocity(target, from, movement, targetOffset) * moveSpeed; yield return(null); }while (sight.canSeeObject(target.gameObject) && (movement.TargetVelocity != Vector2.zero || movement.Velocity != Vector2.zero)); }
// Start is called before the first frame update void Start() { _controller = GetComponent <CharacterController>(); _controls = MainMenuManager.Instance.Controls; _movementAction = _controls.Movement.MoveDirection; _controls.Interactions.Activate.performed += Activate_performed; _controls.Interactions.Detach.performed += Detach_performed; SetCartState(false); }
private void Start() { InputActionMap UIActionMap = UIAsset.FindActionMap(inputUIMapName); UIInputHandler uIInputHandler = new UIInputHandler(UIActionMap); InputActionMap PlayerMovementMap = PlayerAsset.FindActionMap(inputPlayerMovementMapName); TestPlayerInputManager playerMovementInputHandler = new TestPlayerInputManager(PlayerMovementMap); defaultMovement = new DefaultMovement(rigidbodyToMove); }
private IEnumerator Start() { Controls = new DefaultMovement(); Controls.Enable(); yield return(new WaitForSeconds(1f)); LoadNewScene(MainMenuScene); Transition.Instance.SetState(false); MusicPlayer.Instance.Play(); }
public static IEnumerator PatrolSegment(DefaultMovement movement, Vector2 direction, PatrolParameters parameters) { movement.TargetVelocity = direction * parameters.patrolSpeed; float moveTime = parameters.moveDistance.GenerateValue() / parameters.patrolSpeed; yield return(AsyncUtil.Pause(moveTime)); movement.TargetVelocity = Vector2.zero; yield return(AsyncUtil.Pause(parameters.pauseTime.GenerateValue())); }
public void LookAt(string objectName, float x, float y) { var toLook = GetNamedObject(objectName); if (toLook != null) { DefaultMovement movement = toLook.GetComponent <DefaultMovement>(); if (movement != null) { Vector3 direction = new Vector3(x, y, 0.0f) - toLook.transform.position; movement.SetDirection(direction); } } }
public static Vector2 TargetVelocity(Transform target, Transform from, DefaultMovement movement, float targetOffset) { Vector2 offset = target.transform.position - from.position; Vector2 moveDirection = (Mathf.Abs(offset.x) > Mathf.Abs(offset.y)) ? new Vector2(0.0f, Mathf.Sign(offset.y)) : new Vector2(Mathf.Sign(offset.x), 0.0f); movement.SetDirection(offset); if (Vector2.Dot(moveDirection, offset) < targetOffset) { return(Vector2.zero); } else { return(moveDirection); } }
public static IEnumerator PatrolForever(DefaultMovement movement, PatrolParameters parameters) { Vector2 direction = Vector2.right; while (true) { if (parameters.leftProbability.GenerateValue()) { direction = new Vector2(direction.y, -direction.x); } else if (parameters.rightProbability.GenerateValue()) { direction = new Vector2(-direction.y, direction.x); } else { direction = -direction; } yield return(PatrolSegment(movement, direction, parameters)); } }
void Start() { movement = GetComponent <DefaultMovement>(); }