private void Start() { // 러닝 애니메이션 재생 OnBeginStream.Subscribe(_ => animator.Play("Run")); // 튜토리얼 문구 변경 OnBeginStream.Subscribe(_ => tutorialText.text = "한 번 더 누르면 원래 스테이트로 돌아갑니다."); // 좌클릭시 이번엔 런이 아닌 지정 스테이트로 돌아간다. OnUpdateStream.Where(_ => Input.GetMouseButtonDown(0)) .Subscribe(_ => Transition <IdleStateEx>()); }
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>()); }
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); }