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.
180 lines
5.7 KiB
C#
180 lines
5.7 KiB
C#
using System.Collections.Generic;
|
|
using Cute;
|
|
using UnityEngine;
|
|
using Wizard.RoomMatch;
|
|
|
|
namespace Wizard;
|
|
|
|
public class TreasureBoxCpDialog : MonoBehaviour
|
|
{
|
|
private UIAtlas _arenaAtlas;
|
|
|
|
private const string GRADE_STAR_ON_SPRITE_NAME = "icon_diamond_mark_on";
|
|
|
|
private const string GRADE_STAR_OFF_SPRITE_NAME = "icon_diamond_mark_off";
|
|
|
|
private const string GRADE_GAUGE_NAME = "gauge_bg_scale_{0}";
|
|
|
|
private List<string> _loadFileList = new List<string>();
|
|
|
|
[SerializeField]
|
|
private UISprite _currentBoxSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite _nextBoxSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite _openedBoxSprite;
|
|
|
|
[SerializeField]
|
|
private UISprite[] _gradeStepSprites;
|
|
|
|
[SerializeField]
|
|
private UIGauge _gradeGauge;
|
|
|
|
[SerializeField]
|
|
private UILabel _nextGradeLabel;
|
|
|
|
[SerializeField]
|
|
private UILabel _nextGradeNumLabel;
|
|
|
|
[SerializeField]
|
|
private GameObject _openedBoxParts;
|
|
|
|
[SerializeField]
|
|
private GameObject _notOpenedBoxParts;
|
|
|
|
[SerializeField]
|
|
private UISprite _gaugeBackground;
|
|
|
|
[SerializeField]
|
|
private UIButton _treasureBoxGradeUpMethodButton;
|
|
|
|
[SerializeField]
|
|
private UISprite _arrowSprite;
|
|
|
|
private readonly float[][] _memory_value = new float[5][]
|
|
{
|
|
new float[0],
|
|
new float[2] { 0f, 1f },
|
|
new float[7] { 0f, 0.156f, 0.33f, 0.503f, 0.676f, 0.848f, 1f },
|
|
new float[9] { 0f, 0.114f, 0.244f, 0.373f, 0.502f, 0.631f, 0.761f, 0.892f, 1f },
|
|
new float[11]
|
|
{
|
|
0f, 0.087f, 0.192f, 0.294f, 0.397f, 0.5f, 0.605f, 0.709f, 0.812f, 0.917f,
|
|
1f
|
|
}
|
|
};
|
|
|
|
public static DialogBase CreateDialog()
|
|
{
|
|
SystemText systemText = Data.SystemText;
|
|
DialogBase dialog = UIManager.GetInstance().CreateDialogClose();
|
|
dialog.SetButtonLayout(DialogBase.ButtonLayout.GrayBtn);
|
|
dialog.SetSize(DialogBase.Size.M);
|
|
dialog.SetButtonText(systemText.Get("TreasureBoxCp_0023"));
|
|
dialog.SetTitleLabel(systemText.Get("TreasureBoxCp_0001"));
|
|
GameObject gameObject = Object.Instantiate(LoadPrefab("UI/layoutParts/TreasureBoxCpDialog"));
|
|
TreasureBoxCpDialog treasureBoxCpDialog = gameObject.GetComponent<TreasureBoxCpDialog>();
|
|
treasureBoxCpDialog._treasureBoxGradeUpMethodButton.onClick.Add(new EventDelegate(delegate
|
|
{
|
|
dialog.SetDisp(inDisp: false);
|
|
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON);
|
|
treasureBoxCpDialog.CreateDetailDialog(dialog);
|
|
}));
|
|
treasureBoxCpDialog.SetData();
|
|
dialog.SetObj(gameObject);
|
|
return dialog;
|
|
}
|
|
|
|
private void CreateDetailDialog(DialogBase parentDialog)
|
|
{
|
|
SystemText systemText = Data.SystemText;
|
|
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
|
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.OkBtn);
|
|
dialogBase.SetSize(DialogBase.Size.M);
|
|
GameObject obj = Object.Instantiate(LoadPrefab("UI/layoutParts/TreasureBoxCpDetail"));
|
|
dialogBase.SetTitleLabel(systemText.Get("TreasureBoxCp_0007"));
|
|
dialogBase.SetObj(obj);
|
|
dialogBase.OnClose = delegate
|
|
{
|
|
if (parentDialog != null)
|
|
{
|
|
parentDialog.SetDisp(inDisp: true);
|
|
}
|
|
};
|
|
if (RoomBase.GetInstance() != null)
|
|
{
|
|
RoomBase.GetInstance().TreasureCpGradeUpConditionDialog = dialogBase;
|
|
}
|
|
}
|
|
|
|
private static GameObject LoadPrefab(string path)
|
|
{
|
|
PrefabMgr prefabMgr = GameMgr.GetIns().GetPrefabMgr();
|
|
prefabMgr.Load(path);
|
|
return prefabMgr.Get(path);
|
|
}
|
|
|
|
public void SetData()
|
|
{
|
|
_openedBoxParts.SetActive(value: false);
|
|
_notOpenedBoxParts.SetActive(value: false);
|
|
TreasureBoxCp data = Data.TreasureBoxCp;
|
|
_gradeGauge.Value = ((data.NextGrade == 0) ? 1f : _memory_value[data.NextGrade][data.CurrentMemory]);
|
|
_nextGradeLabel.text = Data.SystemText.Get("TreasureBoxCp_0005");
|
|
int num = data.MaxMemory - data.CurrentMemory;
|
|
_nextGradeNumLabel.text = Data.SystemText.Get("TreasureBoxCp_0027", num.ToString());
|
|
SetGaugeBackground(data.NextGrade, data.MaxGrade);
|
|
string atlasName = UIManager.GetInstance().GetSceneAssetPath(UIAtlasManager.AssetBundleNames.Arena, null);
|
|
_loadFileList.Add(atlasName);
|
|
StartCoroutine(Toolbox.ResourcesManager.LoadAssetAsync(atlasName, delegate
|
|
{
|
|
atlasName = UIManager.GetInstance().GetSceneAssetPath(UIAtlasManager.AssetBundleNames.Arena, null, isload: true);
|
|
_arenaAtlas = Toolbox.ResourcesManager.LoadObject<GameObject>(atlasName).GetComponent<UIAtlas>();
|
|
_currentBoxSprite.atlas = _arenaAtlas;
|
|
_nextBoxSprite.atlas = _arenaAtlas;
|
|
_openedBoxSprite.atlas = _arenaAtlas;
|
|
_gaugeBackground.atlas = _arenaAtlas;
|
|
_arrowSprite.atlas = _arenaAtlas;
|
|
if (data.IsTreasureBoxOpened)
|
|
{
|
|
_openedBoxSprite.spriteName = $"box_2pick_0{TreasureBoxCp.GRADE_TO_TREASURE_BOX_ID[data.CurrentGrade]}_open";
|
|
UIManager.SetObjectToGrey(_openedBoxSprite.gameObject, b: true);
|
|
_openedBoxParts.SetActive(value: true);
|
|
}
|
|
else
|
|
{
|
|
_currentBoxSprite.spriteName = $"box_2pick_0{TreasureBoxCp.GRADE_TO_TREASURE_BOX_ID[data.CurrentGrade]}_close";
|
|
_nextBoxSprite.spriteName = $"box_2pick_0{TreasureBoxCp.GRADE_TO_TREASURE_BOX_ID[data.NextGrade]}_close";
|
|
_arrowSprite.spriteName = "arrow";
|
|
_notOpenedBoxParts.SetActive(value: true);
|
|
}
|
|
for (int i = 0; i < _gradeStepSprites.Length; i++)
|
|
{
|
|
_gradeStepSprites[i].atlas = _arenaAtlas;
|
|
if (i < data.CurrentGrade)
|
|
{
|
|
_gradeStepSprites[i].spriteName = "icon_diamond_mark_on";
|
|
}
|
|
else
|
|
{
|
|
_gradeStepSprites[i].spriteName = "icon_diamond_mark_off";
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
|
|
private void SetGaugeBackground(int nextGrade, int maxGrade)
|
|
{
|
|
int num = ((nextGrade == 0) ? maxGrade : nextGrade);
|
|
_gaugeBackground.spriteName = $"gauge_bg_scale_{num}";
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
Toolbox.ResourcesManager.RemoveAssetGroup(_loadFileList);
|
|
_loadFileList.Clear();
|
|
}
|
|
}
|