룰렛 MVP 패턴 구현중
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using System.Collections;
|
||||
using UniRx;
|
||||
|
||||
|
||||
namespace TON
|
||||
{
|
||||
// View ?
|
||||
// View
|
||||
public class Roulette : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Transform piecePrefab; // 룰렛에 표시되는 정보 프리팹
|
||||
[SerializeField] private Transform linePrefab; // 정보들을 구분하는 선 프리팹
|
||||
[SerializeField] private Transform pieceParent; // 정보들이 배치되는 부모 Transform
|
||||
[SerializeField] private Transform lineParent; // 선들이 배치되는 부모 Transform
|
||||
[SerializeField] private RoulettePieceData[] roulettePieceData;
|
||||
[SerializeField] public RoulettePieceData[] roulettePieceData;
|
||||
|
||||
[SerializeField] private int spinDuration; // 회전 시간
|
||||
[SerializeField] private Transform spinningRoulette; // 실제 회전하는 회전판 Transfrom
|
||||
@@ -25,6 +26,18 @@ namespace TON
|
||||
private int accumulatedWeight; // 가중치 계산을 위한 변수
|
||||
private bool isSpinning = false; // 현재 회전중인지
|
||||
private int selectedIndex = 0; // 룰렛에서 선택된 아이템
|
||||
|
||||
private RoulettePresenter _presenter;
|
||||
|
||||
public void Bind(RouletteItemPresenter presenter)
|
||||
{
|
||||
// presenter.Gold.Subscribe()
|
||||
}
|
||||
|
||||
public class RouletteItemPresenter
|
||||
{
|
||||
public ReactiveProperty<int> Gold { get; set; }
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@@ -32,6 +45,8 @@ namespace TON
|
||||
halfPieceAngle = pieceAngle * 0.5f;
|
||||
halfPieceAngleWithPaddings = halfPieceAngle - (halfPieceAngle * 0.25f);
|
||||
|
||||
_presenter = new RoulettePresenter();
|
||||
|
||||
SpawnPiecesAndLines();
|
||||
CalculateWeightsAndIndices();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user