Files
SVSimServer/SVSim.BattleEngine/Engine/SpecialCrystalBuyFinishDialog.cs
gamer147 0455ff649e feat(battle-engine): EffectType full enum + collection/card/vfx extension copies
Replaces partial EffectMgr.EffectType with all 226 decomp values; copies the
IsNotNullOrEmpty/EquelsID/FindFromCardId/GetAllFuncVfxResults extension files +
UI extensions; adds Renderer/MeshFilter shared-material/mesh/sortingOrder. Compile
loop then closed the revealed deps (3242 files). 9.1k -> 18 errors.
2026-06-05 20:38:56 -04:00

126 lines
3.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
using Wizard;
public class SpecialCrystalBuyFinishDialog : MonoBehaviour
{
[SerializeField]
private UILabel _label;
[SerializeField]
private UITexture _tipsTexture;
[SerializeField]
private GameObject _begginerRoot;
[SerializeField]
private UIButton _goToShopButton;
[SerializeField]
private UIButton _goToShopButton2;
[SerializeField]
private UILabel _nextSceneLabel;
private List<string> _assetList = new List<string>();
private SpecialCrystalInfo _specialCrystalInfo;
private DialogBase _dialog;
private string _productName;
private static bool NeedExtraResultDialog(SpecialCrystalInfo info)
{
if (!info.EnableExtraResult)
{
return false;
}
return info.ExtraResultPurchaseCount == info.AvailablePurchaseCount;
}
public static void Create(GameObject prefab, SpecialCrystalInfo info, string productName)
{
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
SystemText systemText = Data.SystemText;
dialogBase.SetTitleLabel(systemText.Get("MyPage_0051"));
if (NeedExtraResultDialog(info))
{
SpecialCrystalBuyFinishDialog component = Object.Instantiate(prefab).GetComponent<SpecialCrystalBuyFinishDialog>();
dialogBase.SetSize(DialogBase.Size.M);
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.OkBtn);
dialogBase.onPushButton1 = delegate
{
ReloadMyPage();
};
dialogBase.SetObj(component.gameObject);
component._dialog = dialogBase;
component._specialCrystalInfo = info;
component._productName = productName;
}
else
{
dialogBase.SetSize(DialogBase.Size.S);
if (info.Status.StartsWith("80"))
{
dialogBase.SetText(Data.SystemText.Get("MyPage_0116", productName));
}
else
{
dialogBase.SetText(Data.SystemText.Get("MyPage_0059", productName));
}
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn);
dialogBase.onPushButton1 = delegate
{
ReloadMyPage();
};
}
dialogBase.onCloseWithoutSelect = delegate
{
ReloadMyPage();
};
}
public static void ReloadMyPage()
{
if (UIManager.GetInstance().GetCurrentScene() == UIManager.ViewScene.MyPage)
{
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.MyPage);
}
}
private IEnumerator Start()
{
_label.text = Data.SystemText.Get("MyPage_0059", _productName);
_nextSceneLabel.text = SceneTransition.TransitionData.GetTransitionText(_specialCrystalInfo.ResultDialogNextSceneClick);
ResourcesManager resourceManager = Toolbox.ResourcesManager;
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(_specialCrystalInfo.ExtraResultDialogBGImageFileName, ResourcesManager.AssetLoadPathType.SpecialCrystal);
_assetList.Add(assetTypePath);
yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetAsync(assetTypePath, null));
_tipsTexture.mainTexture = resourceManager.LoadObject(resourceManager.GetAssetTypePath(_specialCrystalInfo.ExtraResultDialogBGImageFileName, ResourcesManager.AssetLoadPathType.SpecialCrystal, isfetch: true)) as Texture;
UIEventListener.Get(_goToShopButton.gameObject).onClick = delegate
{
OnClickNextSceneButton();
};
UIEventListener.Get(_goToShopButton2.gameObject).onClick = delegate
{
OnClickNextSceneButton();
};
}
private void OnDestroy()
{
Toolbox.ResourcesManager.RemoveAssetGroup(_assetList);
_assetList.Clear();
}
private void OnClickNextSceneButton()
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
MyPageBannerBase.SceneChangeBySetting(_specialCrystalInfo.ResultDialogNextSceneClick, _specialCrystalInfo.ResultDialogNextSceneStatus);
_dialog.Close();
}
}