¡¡ºÇ¾®¸Â¤Îµ¡Ç½¤Î¤ß¤ò¼ÂÁõ¤·¡¢½ù¡¹¤ËÁý¤ä¤·¤Æ¤¤¤¤Þ¤¹¡£
Êѹ¹¤¬¤¢¤ë²Õ½ê¤Ê¤É¤Ë¤Ï TODO ¤òµ½Ò¤·¡¢¸«Ä¾¤»¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤³¤È¤¬½ÅÍפǤ¹¡£
CardController.cs
<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤¤Þ¤¹¡£
using System;
using UnityEngine;
using UnityEngine.UI;
using UniRx;
public class CardController : MonoBehaviour
{
[SerializeField] private Button btnCard;
public IObservable<Unit> OnClickAsObservable => btnCard.OnClickAsObservable();
[SerializeField] private Image imgCard;
[SerializeField] private Image imgBase; //¥«¡¼¥É¤Î¿§Êѹ¹ÍÑ¡£¥Ç¥Ð¥Ã¥°ÍÑ
[SerializeField] private Text txtAttackPointOrInterval;
[SerializeField] private CardData cardData;
/// <summary>
/// ½é´üÀßÄê
/// </summary>
public void SetUp(CardData data)
{
SetCardDetail(data);
// TODO ¥«¡¼¥É¤ò¥¿¥Ã¥×¤·¤¿ºÝ¤Î½èÍý¡£¸å¤Û¤É¡¢Subscribe ¤ÎÆâÍƤòÊѤ¨¤ë
btnCard.OnClickAsObservable()
.ThrottleFirst(System.TimeSpan.FromSeconds(2))
.Subscribe(_ => Debug.Log($"¥«¡¼¥É¤ò¥¿¥Ã¥× : {data.name}"))
.AddTo(this);
this.cardData = cardData;
// TODO ¥«¡¼¥É¤Î¸ú²Ì¤ò¥¤¥ó¥¹¥¿¥ó¥¹
}
/// <summary>
/// ¥«¡¼¥É¤Ë¾ðÊó¤òÀßÄꤹ¤ë
/// </summary>
private void SetCardDetail(CardData data)
{
¡¡¡¡¡¡¡¡// TODO ¥«¡¼¥É¤Î¥¢¥¤¥³¥ó¤òÀßÄê
// ³ÆÃͤòÀßÄê
imgBase.color = data.cardColor;
txtAttackPointOrInterval.text = data.attackPower <= 0 ? "" : data.attackPower.ToString();
}
}