Exemplo n.º 1
0
 void Start()
 {
     CurrentState = FishrodStates.Available;
     _getFishTime = Random.Range(_getFishTimeRand.x, _getFishTimeRand.y);
     _gameManager = GameObject.FindWithTag("GameManager").GetComponent <GameManager>();
     _gameManager.Player.FishrodBobberParent.gameObject.SetActive(false);
 }
Exemplo n.º 2
0
        public void GetFish()
        {
            if (_pecked)
            {
                FishrodAnimation.Play("GetFish");
                AddFish();
            }
            else
            {
                FishrodAnimation.Play("GetWithoutFish");
            }

            CurrentState = FishrodStates.GettingFish;
            StartCoroutine(SetBubbleState(false, 0.3f));
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
 public void OnPorcess()
 {
     CurrentState = FishrodStates.Process;
 }
Exemplo n.º 6
0
 public void FishGetted()
 {
     CurrentState = FishrodStates.Available;
 }