public void Start() { onAnimationEvent += (RodAnimationEvent e) => { switch (e) { case RodAnimationEvent.CastStart: currentState = RodState.Casting; bobberAnimator.SetTrigger("Reset"); break; case RodAnimationEvent.CastEnd: currentState = RodState.WaitingForBite; bobberAnimator.SetTrigger("HitWater"); break; case RodAnimationEvent.BiteStart: break; case RodAnimationEvent.BiteEnd: break; case RodAnimationEvent.ReelStart: currentState = RodState.Reeling; bobberAnimator.SetTrigger("Reel"); bobberBehaviour.isInWater = false; break; case RodAnimationEvent.ReelEnd: currentState = RodState.Idle; break; } }; }
private void startReel() { if (cursorOnUI()) { return; } bobber.enabled = false; state = RodState.Reeling; StartCoroutine(reelRoutine()); }
private void startCast() { Vector2 point = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (cursorOnUI()) { return; } state = RodState.Casting; StartCoroutine(castRoutine(point)); }
// Use this for initialization void Start() { state = RodState.LineIn; bobber.transform.position = transform.position; bobber.transform.parent = transform; bobber.enabled = false; pointerData = new PointerEventData(EventSystem.current); results = new List <RaycastResult>(); game = FindObjectOfType <GameState>(); }
private IEnumerator castRoutine(Vector2 target) { bobber.transform.parent = null; while (Vector2.Distance(bobber.transform.position, target) > tolerance) { bobber.transform.position = Vector3.MoveTowards(bobber.transform.position, target, reelSpeed * Time.deltaTime); yield return(null); } state = RodState.LineOut; bobber.enabled = true; }
private IEnumerator reelRoutine() { while (Vector2.Distance(bobber.transform.position, transform.position) > tolerance) { bobber.transform.position = Vector3.MoveTowards(bobber.transform.position, transform.position, reelSpeed * Time.deltaTime); yield return(null); } state = RodState.LineIn; bobber.transform.parent = transform; game.AddFish(bobber.TakeFish()); }
void OnEnable() { currentState = RodState.Idle; HandleInput(RodAction.Idle); }