Пример #1
0
        void Start()
        {
            startPos = transform.position;
            upPos    = new Vector3(startPos.x, startPos.y + deltaMove, startPos.z);
            downPos  = new Vector3(startPos.x, startPos.y - deltaMove, startPos.z);

            //Tasks for surfer move
            upMoveTask = new PingPongTask((t) =>
            {
                transform.position = Vector3.Lerp(startPos, upPos, t);
            }, timeMove, timeFreeze, false);

            downMoveTask = new PingPongTask((t) =>
            {
                transform.position = Vector3.Lerp(startPos, downPos, t);
            }, timeMove, timeFreeze, false);

            blinkingTask = new InfinityPingPongTask(t => renderer.color = new Color(renderer.color.r, renderer.color.g, renderer.color.b, t),
                                                    blinkPhaseDelta, blinkDelay, false);

            blinkCooldownTask = new DelayInvokeTask(blinkingTime, () => { Blinking = false; }, false);

            upMoveTask.OnStop   += OnStable;
            downMoveTask.OnStop += OnStable;
        }
Пример #2
0
        void Start()
        {
            surfer     = GameHandler.Instance.surfer;
            deltaPos   = transform.position - surfer.transform.position;
            startScale = transform.localScale;

            scaleTask = new PingPongTask((t) =>
            {
                transform.localScale = Vector3.Lerp(startScale, jumpScale, t);
            }, surfer.TimeMove, surfer.TimeFreeze, false);

            surfer.OnStateChanged += SurferStateChanged;
        }