Reflex 실습 - UniRx와 Reflex를 활용한 간단한 카운터 만들기

2023. 12. 18. 00:47·개발툴/Unity

🗓️ 주제

  • UniRx와 Reflex를 활용한 간단한 카운트 앱 만들기

결과

ICounter.cs

public interface ICounter
{
    int GetCount();
    void CounterStart();
    void CounterReset();
}

CounterStorage.cs

using System;
using UniRx;

public class CounterStorage : ICounter
{
    private int count = 0;
    
    public int GetCount()
    {
        return count;
    }
    
    public void CounterStart()
    {
        Observable.Timer(TimeSpan.FromSeconds(1))
            .Repeat()
            .Subscribe(_ => count++);
    }

    public void CounterReset()
    {
        count = 0;
    }
}

CounterInstaller.cs

using UnityEngine;
using Reflex.Core;

public class CounterInstaller : MonoBehaviour, IInstaller
{
    public void InstallBindings(ContainerDescriptor descriptor)
    {
        descriptor.AddSingleton(typeof(CounterStorage), typeof(ICounter));
    }
}

ViewCounter.cs

using Reflex.Attributes;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class ViewCounter : MonoBehaviour
{
    [SerializeField] private Text text;
    [SerializeField] private Button startbutton;
    [SerializeField] private Button resetbutton;
    [Inject] private ICounter counter;

    private void Start()
    {
        startbutton.onClick.AddListener(CounterStart);
        resetbutton.onClick.AddListener(Reset);
    }

    private void Update()
    {
        text.text = $"{counter.GetCount()}";
    }

    private void CounterStart()
    {
        counter.CounterStart();
    }

    private void Reset()
    {
        counter.CounterReset();
        SceneManager.LoadScene("ReflexUniRx");
    }
}

'개발툴 > Unity' 카테고리의 다른 글

UniRxWorkBook - Operator  (1) 2023.12.24
의존성 주입(Dependency Injection)  (1) 2023.12.18
Reflex (Github Readme 번역)  (1) 2023.12.18
Unity에서 ChatGPT 사용하기  (0) 2023.10.24
Unity Tilemap을 이용해서 원하는 크기의 격자맵 그리기  (0) 2023.09.30
'개발툴/Unity' 카테고리의 다른 글
  • UniRxWorkBook - Operator
  • 의존성 주입(Dependency Injection)
  • Reflex (Github Readme 번역)
  • Unity에서 ChatGPT 사용하기
가든_
가든_
  • 가든_
    Code Garden
    가든_
  • 전체
    오늘
    어제
    • 글 목록 (60)
      • 프로그래밍 언어 (11)
        • JAVA (0)
        • C++ (2)
        • C# (9)
      • 개발툴 (24)
        • Visual Studio (0)
        • Visual Studio Code (1)
        • Eclipse (1)
        • Unity (19)
        • Unreal (0)
        • Spring (1)
        • SpringBoot (0)
        • Vue (2)
      • 디자인 패턴 (6)
      • 백엔드 (4)
        • MySQL (1)
        • Servlet (3)
      • 프론트엔드 (4)
        • HTML (3)
        • CSS (0)
        • Javascript (1)
      • 알고리즘 (10)
        • 공식 (3)
        • 백준 (6)
        • SW Expert Academy (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    구조적 UML 다이어그램
    UniRX
    ()=>
    MVC
    행동 UML 다이어그램
    Reflex
    Unity
    chatGPT
    SetTile
    FixedUpdate
    오브젝터 어댑터
    Proxy 패턴
    Abstract Factory 패턴
    스택
    DI
    Factory 패턴
    런타임 상수
    컴파일 상수
    구조패턴
    HTML
    Adaptee
    클래스 어댑터
    RDBM
    swea2112
    Java
    c#
    12738
    상태공간트리
    다이어그램 그리기
    Adapter 패턴
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
가든_
Reflex 실습 - UniRx와 Reflex를 활용한 간단한 카운터 만들기
상단으로

티스토리툴바