diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset index 3abddba683..dcea317564 100644 --- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset +++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset @@ -67,3 +67,5 @@ MonoBehaviour: prefab: {fileID: 3837460183159982207, guid: 0986049a141406946b0ed97344b84f78, type: 3} - id: DlgQuantity prefab: {fileID: 8147986291757959694, guid: 11d09ee52b0c5f24fb3ef21e177ebe2d, type: 3} + - id: EC_AccountStorageUI + prefab: {fileID: 3837460183159982207, guid: 52c6d600a10af6b46a93fdc0ab719198, type: 3} diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs new file mode 100644 index 0000000000..5c62e189dd --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_AccountStorageUI.cs @@ -0,0 +1,126 @@ +using BrewMonster; +using BrewMonster.Scripts; +using BrewMonster.UI; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster.Scripts.Managers +{ + /// + /// Money-only account warehouse UI. C++ uses Win_Storage3, but this Unity port keeps it + /// separate from so normal warehouse item logic cannot leak in. + /// + public class EC_AccountStorageUI : AUIDialog + { + [SerializeField] private Button closeButton; + [SerializeField] private Button depositMoneyButton; + [SerializeField] private Button withdrawMoneyButton; + [SerializeField] private Text accountMoneyTextLegacy; + [SerializeField] private TMPro.TextMeshProUGUI accountMoneyTextTMP; + + private static EC_AccountStorageUI s_instance; + + public override void Awake() + { + base.Awake(); + s_instance = this; + ResolveButtons(); + WireButtons(); + } + + private void OnDestroy() + { + if (s_instance == this) + s_instance = null; + } + + public static void RefreshMoneyStatic() + { + s_instance?.RefreshMoney(); + } + + public void RefreshAll() + { + RefreshMoney(); + } + + void ResolveButtons() + { + var buttons = GetComponentsInChildren