룰렛 mvp 패턴 적용 중...
This commit is contained in:
@@ -1,33 +1,31 @@
|
||||
using System.Collections;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UniRx;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
|
||||
namespace TON
|
||||
{
|
||||
// View
|
||||
// View <> Presenter <> Model
|
||||
public class RouletteSpin : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Roulette roulette;
|
||||
[SerializeField] private Button buttonSpin;
|
||||
|
||||
// TODO : Roulette 변수 선언
|
||||
|
||||
|
||||
private RoulettePresenter roulettePresenter;
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// Presenter 초기화
|
||||
roulettePresenter = new RoulettePresenter();
|
||||
// TODO : UI와 Presenter 바인딩
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
// // 싱글톤으로 PlayerDataManager 접근
|
||||
// playerDataManager = PlayerDataManager.Singleton;
|
||||
//
|
||||
// if (playerDataManager == null)
|
||||
// {
|
||||
// Debug.LogError("PlayerDataManager가 초기화되지 않았습니다.");
|
||||
// }
|
||||
|
||||
// TODO : Presenter 초기화
|
||||
// TODO : UI와 Presenter 바인딩
|
||||
|
||||
buttonSpin.onClick.AddListener(()=>
|
||||
{
|
||||
buttonSpin.interactable = false;
|
||||
@@ -42,4 +40,26 @@ namespace TON
|
||||
roulettePresenter.InsertRouletteResult(selectedData);
|
||||
}
|
||||
}
|
||||
|
||||
// Presenter
|
||||
public class RouletteItemPresenter
|
||||
{
|
||||
public ReactiveProperty<string> Description { get; set; }
|
||||
public ReactiveProperty<int> Chance { get; set; }
|
||||
|
||||
public ReactiveCommand BuyCommand { get; set; }
|
||||
|
||||
private RoulettePieceData _model;
|
||||
|
||||
public RouletteItemPresenter(RoulettePresenter roulettePresenter, RoulettePieceData model)
|
||||
{
|
||||
_model = model;
|
||||
|
||||
Description = new ReactiveProperty<string>(model.description);
|
||||
Chance = new ReactiveProperty<int>(model.chance);
|
||||
|
||||
BuyCommand = new ReactiveCommand();
|
||||
BuyCommand.Subscribe(_ => roulettePresenter.InsertRouletteResult(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user