using System; using System.Collections.Generic; using System.Linq; using DG.Tweening; using FGUI.G016_WB; using SGModule.NetKit; using UnityEngine; using UNSDK; namespace BallKingdomCrush { public class H5UI : BaseUI { private Tween bubbleMoveTween; private Action closeCallBack; private CountDownKit countDownKit; private H5UICtrl ctrl; private int currentTabIndex; private int flyClickCount = 1; private int iconClickCount; private bool isAddFinger; private bool isCurrentTaskFinish; private bool isCurrentTimeTask; private bool isLoadFinish; private bool isScrolling; private bool isTimeOut = false; private decimal makeupTaskH5NeedTime; private H5Model model; private readonly List movePointList = new(); private long openTime; private bool isHallEnter = false; private decimal scrollOutTime; public com_webview ui; private decimal updateTime; SaveingPotClass savePotMakeupTaskData = SaveData.GetSaveObject() .saveingpot_history[SaveData.GetSaveObject().saveingpot_history.Count - 1]; public H5UI(H5UICtrl ctrl) : base(ctrl) { uiName = UIConst.H5UI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "G016_WB"; uiInfo.assetName = "com_webview"; uiInfo.layerType = UILayerType.Popup; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = false; uiInfo.isTickUpdate = false; } public override void OnUpdate() { updateTime += (decimal)Time.deltaTime; if (updateTime >= 1) { if (makeupTaskH5NeedTime > 0 && DataMgr.MakeupTaskH5Time.Value < makeupTaskH5NeedTime) { DataMgr.MakeupTaskH5Time.Value += updateTime; } if (savePotMakeupTaskData.status == SaveingPotTaskStatus.None) { savePotMakeupTaskData.H5Time += (float)updateTime; } updateTime = 0; } } private void InitData() { // HallManager.Instance.SetInH5(true); model.show102 = DataMgr.Ticket.Value; if (DataMgr.MakeupTaskHistory.Value.Count > 0) { var taskData = DataMgr.MakeupTaskHistory.Value.Last(); if (taskData != null) { var cardRdModel = ConfigSystem.GetConfig(); var makeupVo = cardRdModel.FirstOrDefault(Rd => Rd.id == taskData.tableId); if (makeupVo != null) makeupTaskH5NeedTime = makeupVo.task_need; } } #if UNITY_EDITOR isLoadFinish = true; #endif } private void InitView() { Set102(); ui.btn_back.SetClick(CloseCallBack); DOVirtual.Float(0, (float)DataMgr.Ticket.Value, 1, value => { ui.com_top.text_num.text = GameHelper.Get102Str((decimal)value); }); SetMakeup(); } private void CloseCallBack() { Debug.Log("h5ui CloseCallBack"); if (isHallEnter) { uiCtrlDispatcher.Dispatch(UICtrlMsg.MainUI_Open); CreatAnimalCard.instance.SetCameraVisible(true); } else { CreatAnimalCard.instance.SetCameraVisible(true); } uiCtrlDispatcher.Dispatch(UICtrlMsg.H5UI_Close); GameDispatcher.Instance.Dispatch(GameMsg.showBroadCast); if (GameHelper.is_first_login) { GameDispatcher.Instance.Dispatch(GameMsg.RefreshGame); } CtrlCloseUI(); } void OnRefreshMakeupData(object obj) { SetMakeup(); } private void OnClickIcon() { float[] ch_array = GameHelper.GetRewardValue(2); SuccessData temp = new SuccessData(); temp.IsWin = true; temp.ch_number = ch_array[0]; temp.rate = (int)ch_array[1]; temp.IsLevelSuccess = false; temp.IsH5Reward = true; UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.LevelSuccessUI_Open, temp); } public void Set102(decimal ch = -1) { if (ch < 0) ch = DataMgr.Ticket.Value; var chNumt = GameHelper.Get102Str(ch); ui.com_top.text_num.text = $"{chNumt}"; } public void OnLoadFinish() { isLoadFinish = true; } private void SetMakeup() { var comBox = ui.com_top; comBox.text_num.text = $"{GameHelper.Get102Str(DataMgr.Ticket.Value)}"; if (!GameHelper.IsGiftSwitch()) return; if (DataMgr.MakeupTaskHistory.Value.Count == 0) return; var makeupTaskData = DataMgr.MakeupTaskHistory.Value.Last(); var vo = ConfigSystem.GetConfig().FirstOrDefault(Rd => Rd.id == makeupTaskData.tableId); if (vo == null) { return; } var leftCh = (double)Math.Max(vo.item_need - DataMgr.Ticket.Value, 0); comBox.text_more.text = $"{GameHelper.Get102Str((decimal)leftCh)}"; comBox.pb_num.max = vo.item_need; comBox.pb_num.TweenValue(vo.item_need - leftCh, 0.1f); comBox.pb_num.GetChild("title").text = $"{GameHelper.Get102Str((decimal)(vo.item_need - leftCh))}/{GameHelper.Get102Str((decimal)comBox.pb_num.max)}"; ui.com_top.visible = false; ui.com_top.btn_out.SetClick(() => { // uiCtrlDispatcher.Dispatch(UICtrlMsg.MakeupConfirmUI_Open, makeupTaskData); CloseCallBack(); }); } public void SetCh(string str102 = null) { if (str102 == null) str102 = DataMgr.Ticket.Value == -1 ? GameHelper.GetCommonModel().InitialNum.ToString("N") : DataMgr.Ticket.Value.ToString("N"); ui.com_top.text_num.text = "$" + str102; } #region 生命周期 protected override void OnInit() { model = moduleManager.GetModel(ModelConst.H5Model) as H5Model; } protected override void OnClose() { SdkConfigMgr.Instance.Close(); GameHelper.showGameUI = true; countDownKit?.OnDestroy(); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.NetLoadingUI_Close); // CommonHelper.FadeOut(ui); } public Camera orthoCamera; protected override void OnBind() { ui = baseUI as com_webview; } protected override void OnOpenBefore(object args) { isHallEnter = (bool)args; Debug.Log("H5UI OnOpenBefore"); InitData(); InitView(); } protected override void OnOpen(object args) { openTime = GameHelper.GetNowTime(); // CommonHelper.FadeIn(ui); } protected override void OnHide() { } protected override void OnDisplay(object args) { } #endregion #region 消息 protected override void AddListener() { HallManager.Instance.AddChangeGiftSwitch(InitView); GameDispatcher.Instance.AddListener(GameMsg.RefreshMakeupData, OnRefreshMakeupData); GameDispatcher.Instance.AddListener(GameMsg.resetH5progress, ResetTime); } protected override void RemoveListener() { HallManager.Instance.RemoveChangeGiftSwitch(InitView); GameDispatcher.Instance.RemoveListener(GameMsg.RefreshMakeupData, OnRefreshMakeupData); GameDispatcher.Instance.RemoveListener(GameMsg.resetH5progress, ResetTime); } #endregion void ResetTime(object a = null) { SetMakeup(); } } }