コード例 #1
0
    // 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);
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
    }