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; }
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; }