// Start is called before the first frame update void Start() { hitDetector = GameObject.Find("Player").GetComponent <PlayerHitDetector>(); preSpeed = speed; iS2 = iS; var roads = Instantiate(road); //roads.transform.position = new Vector3(0, 10f, 0); road.transform.position = transform.position; LeanTween.moveY(roads, -20f, 3f); Observable.Interval(TimeSpan.FromSeconds(iS)) .Subscribe(_ => { var roadss = Instantiate(road); //roads.transform.position = new Vector3(0, 10f, 0); road.transform.position = transform.position; if (hitDetector.IsStar) { iS = 0.1f; speed = 1.5f; } if (hitDetector.IsStar == false) { speed = preSpeed; iS = iS2; } LeanTween.moveY(roadss, -20f, speed); Destroy(roadss, 6f); }).AddTo(this); }
private void Start() { preInterval = interval; Observable.Interval(TimeSpan.FromSeconds(interval)) .Where(_ => isPlaying == true) .Subscribe(_ => { if (hitDetector.IsStar) { interval = 0.05f; } if (hitDetector.IsStar == false) { interval = preInterval; } Generate(); }).AddTo(this); stateManager = GameObject.Find("Manager").GetComponent <GameStateManager>(); hitDetector = GameObject.Find("Player").GetComponent <PlayerHitDetector>(); stateManager.CurrentState .FirstOrDefault(x => x == GameState.Finish) .Subscribe(_ => isPlaying = false).AddTo(this); tempRate = skillItemRate; this.ObserveEveryValueChanged(x => x.hitDetector.IsStar) .Subscribe(_ => { if (hitDetector.IsStar) { skillItemRate = 0; return; } skillItemRate = tempRate; }).AddTo(this); }
void Start() { stateManager = GameObject.Find("Manager").GetComponent <GameStateManager>(); hitDetector = GameObject.Find("Player").GetComponent <PlayerHitDetector>(); preSpeed = speed; tex.wrapMode = TextureWrapMode.Repeat; Observable.EveryUpdate() .Where(_ => isPlaying == true) .Subscribe(_ => { if (hitDetector.IsStar) { speed = 3; } if (hitDetector.IsStar == false) { speed = preSpeed; } float y = Mathf.Repeat(Time.time * speed, 1); Vector2 offset = new Vector2(0, y); GetComponent <Renderer>().sharedMaterial.SetTextureOffset("_MainTex", offset); }).AddTo(this); stateManager.CurrentState .FirstOrDefault(x => x == GameState.Finish) .Subscribe(_ => isPlaying = false).AddTo(this); }