Example #1
0
    public void Deactivate(Action callback)
    {
        var cameraData = new MovingUtility.MovingContainer()
        {
            OriginPos = _cameraMovement.To.position,
            TargetPos = _cameraMovement.From.position,
            Duration  = 1f,
        };

        var burgerPosData = new MovingUtility.MovingContainer()
        {
            OriginPos = _burgerMovement.To.position,
            TargetPos = _burgerMovement.From.position,
            Duration  = 1.2f
        };

        var burgerRotData = new MovingUtility.RotationContainer()
        {
            Duration        = 0,
            CurrentRotation = _burgerMovement.From.rotation,
            TargetRotation  = new Vector3(0, 0)
        };

        MovingUtility.MoveTo(cameraData, CameraMove);
        MovingUtility.MoveTo(burgerPosData, BurgerMove);
        MovingUtility.Rotate(burgerRotData, BurgerRotation);

        callback?.Invoke();
    }
Example #2
0
    private IEnumerator AnimateRating(float rating, float money)
    {
        MovingUtility.FloatLerpContainer bg = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 1,
            StartValue  = 0,
            TargetValue = 1
        };

        MovingUtility.FloatLerpContainer lerp = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 1,
            StartValue  = 0,
            TargetValue = rating
        };

        MovingUtility.FloatLerpContainer lerpMoney = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 2,
            StartValue  = 0,
            TargetValue = money
        };

        yield return(MovingUtility.LerpFloat(bg, BackGroundAlpha));

        _continueButton.gameObject.SetActive(true);
        MovingUtility.LerpFloat(lerp, Rating);
        yield return(new WaitForSeconds(0.5f));

        MovingUtility.LerpFloat(lerpMoney, LerpMoney);
    }
Example #3
0
    public override void Show <T>(T args)
    {
        if (_animationRoutine != null)
        {
            MovingUtility.BreakRoutine(_animationRoutine);
        }

        base.Show(args);
        _anim.SetTrigger("start");
        _interactable = true;
    }
Example #4
0
    public void Despawn()
    {
        var despawnAnim = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 1f,
            StartValue  = 0,
            TargetValue = 1
        };

        Spawner.Instance.RemoveFromWaiting(this);

        MovingUtility.LerpFloat(despawnAnim, DespawnAnimation, DespawnEnd);
    }
Example #5
0
    public void Spawn(Transform origin)
    {
        transform.position = origin.position;
        transform.rotation = origin.rotation;
        gameObject.SetActive(true);

        var spawnSize = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 1f,
            StartValue  = 0,
            TargetValue = 1
        };

        MovingUtility.LerpFloat(spawnSize, SpawnAnimation);
    }
Example #6
0
    private IEnumerator HideAnim(bool rightSided)
    {
        var direction = (new Vector3((rightSided ? Screen.width + _orderObject.rect.width / 2 : 0 - _orderObject.rect.width * 1.5f), _orderObject.localPosition.y, 0));

        _interactable = false;
        var move = new MovingUtility.MovingContainer()
        {
            Duration  = 0.8f,
            OriginPos = _orderObject.localPosition,
            TargetPos = direction
        };

        _animationRoutine = MovingUtility.MoveTo(move, MoveOrder, DisablePage);
        yield return(_animationRoutine);
    }
Example #7
0
    public IEnumerator AnimateRequest()
    {
        var burgerRot = new MovingUtility.RotationContainer()
        {
            Duration        = 0.1f,
            CurrentRotation = _burgerOffset.rotation,
            TargetRotation  = new Vector3(-45, 0)
        };

        yield return(MovingUtility.Rotate(burgerRot, RotateBurger));


        var objs = _customerBurger.GetData()._ingridients.Select(obj => (IEditable)obj).ToArray();

        for (int i = 0; i < objs.Length; i++)
        {
            Transform objectTransform = objs[i].GetTransform();

            var position = _burgerOffset.position;

            Vector3 sizedPosition = new Vector3(
                Mathf.Lerp(position.x + -_size.x, position.x + _size.x, ((float)i / (objs.Length - 1))),
                Mathf.Lerp(position.y + -_size.y, position.y + _size.y, ((float)i / (objs.Length - 1))),
                objectTransform.position.z);

            var data = new MovingUtility.MovingContainer()
            {
                Duration  = 0.08f,
                OriginPos = objs[i].GetTransform().position,
                TargetPos = sizedPosition
            };

            var rotData = new MovingUtility.RotationContainer()
            {
                Duration        = data.Duration,
                CurrentRotation = objs[i].GetTransform().rotation,
                TargetRotation  = new Vector3(0, 0, -15)
            };


            MovingUtility.MoveTo(data,
                                 delegate(Vector3 pos) { objs[i].GetTransform().position = pos; });
            yield return(MovingUtility.Rotate(rotData,
                                              delegate(Quaternion quaternion) { objs[i].GetTransform().localRotation = quaternion; }));
        }
    }
Example #8
0
    private IEnumerator AnimateActivate(Action activatAction)
    {
        var cameraData = new MovingUtility.MovingContainer()
        {
            OriginPos = _cameraMovement.From.position,
            TargetPos = _cameraMovement.To.position,
            Duration  = 1f,
        };

        var burgerPosData = new MovingUtility.MovingContainer()
        {
            OriginPos = _burgerMovement.From.position,
            TargetPos = _burgerMovement.To.position,
            Duration  = 1.2f
        };

        var burgerRotData = new MovingUtility.RotationContainer()
        {
            Duration        = 2,
            CurrentRotation = _burgerMovement.Target.rotation,
            TargetRotation  = new Vector3(0, 180)
        };

        MovingUtility.MoveTo(cameraData, CameraMove);
        MovingUtility.Rotate(burgerRotData, BurgerRotation);

        var rating = BurgerComparer.Compare(_game.CurrentCustomer.Burger.GetData(), _logic.PlayerBurger.GetData());

        if (rating >= 0.5f)
        {
            LevelStatus.Instance.SetSuccessfulCustomers(LevelStatus.Instance.SuccessfulCustomers + 1);
        }

        RatingData data = new RatingData()
        {
            Score       = rating,
            MoneyIncome = (int)(_game.CurrentCustomer.Request.Price * rating)
        };

        Menu.Instance.SwitchPage <RatingPage, RatingData>(data);

        yield return(MovingUtility.MoveTo(burgerPosData, BurgerMove));

        _particles.Play();
        activatAction?.Invoke();
    }
Example #9
0
    private IEnumerator AnimateStart()
    {
        MovingUtility.FloatLerpContainer bg = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 1,
            StartValue  = 0,
            TargetValue = 1
        };

        MovingUtility.FloatLerpContainer completeness = new MovingUtility.FloatLerpContainer()
        {
            Duration    = 2f,
            StartValue  = 0,
            TargetValue = (float)LevelStatus.Instance.SuccessfulCustomers / (float)LevelStatus.Instance.TotalCustomers
        };


        MovingUtility.LerpFloat(completeness, LevelFillAmount);
        MovingUtility.LerpFloat(completeness, PercentsAmount);
        yield return(MovingUtility.LerpFloat(bg, SetBackgroundAlpha));
    }