Пример #1
0
        private void Start()
        {
            // 러닝 애니메이션 재생
            OnBeginStream.Subscribe(_ => animator.Play("Run"));

            // 튜토리얼 문구 변경
            OnBeginStream.Subscribe(_ => tutorialText.text = "한 번 더 누르면 원래 스테이트로 돌아갑니다.");

            // 좌클릭시 이번엔 런이 아닌 지정 스테이트로 돌아간다.
            OnUpdateStream.Where(_ => Input.GetMouseButtonDown(0))
            .Subscribe(_ => Transition <IdleStateEx>());
        }
Пример #2
0
        private void Start()
        {
            // 어필 애니메이션 재생
            OnBeginStream.Subscribe(_ => animator.Play("Appeal"));

            // 튜토리얼 문구 변경
            OnBeginStream.Subscribe(_ => tutorialText.text =
                                        (int)IdleStateEx.TransitionToAppealDuration + "초가 경과했기 때문에 Apple State로 전이되었습니다.");

            // 어필 애니메이션 재생되면 초기 스테이트로 되돌린다.
            OnUpdateStream.Where(_ => animator.IsCompleted(Animator.StringToHash("Appeal")))
            .Subscribe(_ => Transition <IdleStateEx>());

            // 좌클릭시 지정 스테이트 재생
            OnUpdateStream.Where(_ => Input.GetMouseButtonDown(0))
            .Subscribe(_ => Transition <RunStateEx>());
        }
Пример #3
0
        private void Start()
        {
            //등록된 애니메이션 재생
            OnBeginStream.Subscribe(_ => animator.Play("Idle"));

            //튜토리얼 텍스트 갱신
            OnBeginStream.Subscribe(_ => tutorialText.text = "튜토리얼 머시기머시기");

            float counter = 0f;

            //n초가 지난뒤 지정된 스테이트로 전이
            OnUpdateStream.Do(_ => counter += Time.deltaTime)
            .Where(count => counter > TransitionToAppealDuration)
            .Subscribe(_ => Transition <AppealStateEx>());

            //좌클릭하면 달리는 지정된 스테이트로 전이
            OnUpdateStream.Where(_ => Input.GetMouseButtonDown(0))
            .Subscribe(_ => Transition <RunStateEx>());

            //스테이트가 종료되면 데이터 리셋
            OnEndStream.Subscribe(_ => counter = 0f);
        }