Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/SpotCardExchangePlate.cs
gamer147 824309ec44 feat(battle-engine): close the AI-simulation subsystem (verbatim)
Copied the 89 uncopied AI*SimulationUtility/extension files defining the
AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed
the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
2026-06-05 20:30:59 -04:00

106 lines
3.8 KiB
C#

using System;
using UnityEngine;
using Wizard.Scripts.Network.Data.TaskData.SpotCardExchange;
namespace Wizard;
public class SpotCardExchangePlate : MonoBehaviour
{
private readonly Quaternion CARDOBJECT_ROTATION_QUATERNION = new Quaternion(0f, 0f, 0f, 0f);
private const string SPOT_CARD_NUM_FORMAT = "[fcd24a]+{0}[-]";
[SerializeField]
private GameObject _objCardRoot;
[SerializeField]
private UILabel _labelSpotCardName;
[SerializeField]
private UILabel _labelCardPossessionNum;
[SerializeField]
private UILabel _labelCardPossessionNumNormal;
[SerializeField]
private UILabel _labelCardPossessionNumPremium;
[SerializeField]
private UILabel _labelCostSpotCardPoint;
[SerializeField]
private UIButton _btnExchangeSpotCard;
[SerializeField]
private UILabel _labelExchanged;
private GameObject _cardObject;
public void SetData(SpotCardExchangeInfo spotCardInfo, int haveSpotCardPoint, SpotCardExchangeInfoTask.PrereleaseExchangeInfo prereleaseInfo, Action<SpotCardExchangeInfo> onClickExchangButton)
{
SystemText systemText = Data.SystemText;
string text = spotCardInfo.GetExchangeCardTextSmall();
if (spotCardInfo.IsPrereleaseCard)
{
text = systemText.Get("Shop_0183", text);
}
_labelSpotCardName.text = text;
DataMgr dataMgr = GameMgr.GetIns().GetDataMgr();
int possessionCardNum = dataMgr.GetPossessionCardNum(spotCardInfo.CardId, isIncludingSpotCard: false);
int spotCardNum = dataMgr.SpotCardData.GetSpotCardNum(spotCardInfo.CardId);
_labelCardPossessionNumNormal.text = possessionCardNum + ((spotCardNum > 0) ? $"[fcd24a]+{spotCardNum}[-]" : string.Empty);
int cardId = spotCardInfo.CardId + 1;
int possessionCardNum2 = dataMgr.GetPossessionCardNum(cardId, isIncludingSpotCard: false);
_labelCardPossessionNumPremium.text = possessionCardNum2.ToString();
int num = possessionCardNum + possessionCardNum2 + spotCardNum;
_labelCardPossessionNum.text = num.ToString();
string typeName = "";
string detailName = "";
ShopCommonUtility.GetRewardNames(12, 0L, spotCardInfo.ExchangePoint, out typeName, out detailName);
_labelCostSpotCardPoint.text = systemText.Get("Shop_0129", typeName, detailName);
switch (spotCardInfo.SpotCardExchangeStatus)
{
case SpotCardExchangeInfo.ExchangeStatus.AlreadyExchange:
_btnExchangeSpotCard.gameObject.SetActive(value: false);
_labelExchanged.gameObject.SetActive(value: true);
break;
case SpotCardExchangeInfo.ExchangeStatus.EnableExchange:
{
_btnExchangeSpotCard.onClick.Clear();
_btnExchangeSpotCard.onClick.Add(new EventDelegate(delegate
{
onClickExchangButton(spotCardInfo);
}));
_btnExchangeSpotCard.gameObject.SetActive(value: true);
_labelExchanged.gameObject.SetActive(value: false);
bool flag = haveSpotCardPoint < spotCardInfo.ExchangePoint;
if (prereleaseInfo.IsPrerelease && spotCardInfo.IsPrereleaseCard)
{
flag |= prereleaseInfo.RemainingExchangeableCount <= 0;
}
UIManager.SetObjectToGrey(_btnExchangeSpotCard.gameObject, flag);
break;
}
case SpotCardExchangeInfo.ExchangeStatus.LimitOver:
_btnExchangeSpotCard.gameObject.SetActive(value: true);
_labelExchanged.gameObject.SetActive(value: false);
UIManager.SetObjectToGrey(_btnExchangeSpotCard.gameObject, b: true);
break;
}
}
public void SetCardObject(GameObject cardObject, GameObject evacuationParent)
{
if (_cardObject != null)
{
_cardObject.SetActive(value: false);
_cardObject.transform.parent = evacuationParent.transform;
}
cardObject.transform.parent = _objCardRoot.transform;
cardObject.transform.localPosition = Vector3.zero;
cardObject.transform.rotation = CARDOBJECT_ROTATION_QUATERNION;
cardObject.SetActive(value: true);
_cardObject = cardObject;
}
}