using Cysharp.Threading.Tasks; using TMPro; using uMVVM.Sources.Infrastructure; using UnityEngine.UI; namespace Game.MVVM.Model { public class GameSceneMainView : UnityGuiView { public Button btnBack; public Button btnHelp; public Button btnInvestment; public TMP_Text txtJinBei; public TMP_Text txtMessage; public TMP_Dropdown dropdown; public Image imgTips; public Button btn_AddRobotPlayer; public Button btn_DeleteAllRobotPlayer; protected override void OnInitialize() { base.OnInitialize(); this.btnBack.onClick.AddListener(this.ClickBack); this.btnHelp.onClick.AddListener(this.ClickHelp); this.btnInvestment.onClick.AddListener(this.ClickInvestment); this.btn_AddRobotPlayer.onClick.AddListener(this.ClickAddRobot); this.btn_DeleteAllRobotPlayer.onClick.AddListener(this.ClickDeleteAllRobot); this.Binder.Add("JinBei", JinBeiValueChanged); this.Binder.Add("Message", MessageValueChanged); } public override void OnDestroy() { base.OnDestroy(); this.btnBack.onClick.RemoveListener(this.ClickBack); this.btnHelp.onClick.RemoveListener(this.ClickHelp); this.btnInvestment.onClick.RemoveListener(this.ClickInvestment); this.btn_AddRobotPlayer.onClick.RemoveListener(this.ClickAddRobot); this.btn_DeleteAllRobotPlayer.onClick.RemoveListener(this.ClickDeleteAllRobot); } private void MessageValueChanged(string oldvalue, string newvalue) { this.txtMessage.text = newvalue; } private void JinBeiValueChanged(float oldvalue, float newvalue) { this.txtJinBei.text = newvalue.ToString(); } private void ClickDeleteAllRobot() { this.BindingContext.OnClickDeleteAllRobot?.Invoke(); } private void ClickAddRobot() { this.BindingContext.OnClickAddRobot?.Invoke(); } private void ClickBack() { this.BindingContext.OnClickBack?.Invoke(); } private void ClickHelp() { this.BindingContext.OnClickHelp?.Invoke(); } private void ClickInvestment() { var captionTextText = this.dropdown.captionText.text; var f = float.Parse(captionTextText); this.BindingContext.OnClickInvestment?.Invoke(f); } public async UniTask WaitTimeCloseTips() { this.imgTips.gameObject.SetActive(true); await UniTask.Delay(4000); this.imgTips.gameObject.SetActive(false); } } }