void Start() { CurrentState = FishrodStates.Available; _getFishTime = Random.Range(_getFishTimeRand.x, _getFishTimeRand.y); _gameManager = GameObject.FindWithTag("GameManager").GetComponent <GameManager>(); _gameManager.Player.FishrodBobberParent.gameObject.SetActive(false); }
public void GetFish() { if (_pecked) { FishrodAnimation.Play("GetFish"); AddFish(); } else { FishrodAnimation.Play("GetWithoutFish"); } CurrentState = FishrodStates.GettingFish; StartCoroutine(SetBubbleState(false, 0.3f)); }
void Update() { RaycastHit hit; Physics.Raycast(_gameManager.Player.FishrodCheckWaterTransform.position, -Vector3.up, out hit, 10); if (hit.collider == null || hit.collider.gameObject == null) { return; } CanToFish = hit.collider.gameObject.tag == "Water"; if (CanToFish) { _gameManager.Player.FishrodBobberParent.position = new Vector3(_gameManager.Player.FishrodBobberParent.position.x, hit.collider.transform.position.y + BobberOffset, _gameManager.Player.FishrodBobberParent.position.z); if (CurrentState == FishrodStates.Process && !_gameManager.Player.FishrodBobberParent.gameObject.activeSelf) { _gameManager.Player.FishrodBobberParent.gameObject.SetActive(true); } } else { _gameManager.Player.FishrodBobberParent.gameObject.SetActive(false); if (CurrentState == FishrodStates.Process) { CurrentState = FishrodStates.Available; FishrodAnimation.Play("GetWithoutFish"); } } if (CurrentState == FishrodStates.Process) { _passedTime += Time.deltaTime; if (_passedTime >= _getFishTime && CurrentState != FishrodStates.Peck) { StartCoroutine(Peck()); _passedTime = 0; _getFishTime = Random.Range(_getFishTimeRand.x, _getFishTimeRand.y); } } }
private IEnumerator Peck() { CurrentState = FishrodStates.Peck; var bobber = _gameManager.Player.FishrodBobber; _pecked = true; TweenPosition.Begin(bobber.gameObject, 0.2f, new Vector3(bobber.localPosition.x, bobber.localPosition.y - 0.5f, bobber.localPosition.z)); yield return(new WaitForSeconds(0.3f)); _pecked = false; TweenPosition.Begin(bobber.gameObject, 0.2f, new Vector3(bobber.localPosition.x, bobber.localPosition.y + 0.5f, bobber.localPosition.z)); yield return(new WaitForSeconds(UnityEngine.Random.Range(0.8f, 2f))); _pecked = true; TweenPosition.Begin(bobber.gameObject, 0.2f, new Vector3(bobber.localPosition.x, bobber.localPosition.y - 0.6f, bobber.localPosition.z)); yield return(new WaitForSeconds(0.5f)); _pecked = false; TweenPosition.Begin(bobber.gameObject, 0.2f, new Vector3(bobber.localPosition.x, bobber.localPosition.y + 0.6f, bobber.localPosition.z)); yield return(new WaitForSeconds(UnityEngine.Random.Range(0.6f, 1.2f))); _pecked = true; TweenPosition.Begin(bobber.gameObject, 0.1f, new Vector3(bobber.localPosition.x, bobber.localPosition.y - 0.7f, bobber.localPosition.z)); yield return(new WaitForSeconds(0.8f)); _pecked = false; TweenPosition.Begin(bobber.gameObject, 0.2f, new Vector3(bobber.localPosition.x, bobber.localPosition.y + 0.7f, bobber.localPosition.z)); yield return(new WaitForSeconds(0.2f)); _pecked = false; if (CurrentState == FishrodStates.Peck) { CurrentState = FishrodStates.Process; } yield break; }
public void OnPorcess() { CurrentState = FishrodStates.Process; }
public void FishGetted() { CurrentState = FishrodStates.Available; }