Files
BingoGrassland/Assets/BingoBrain/ModuleUI/Broadcast/BroadcastUI.cs
T

224 lines
7.1 KiB
C#
Raw Normal View History

2026-04-20 13:49:36 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using DG.Tweening;
using Spine.Unity;
using BingoBrain.Core;
using FGUI.ACommon;
using FairyGUI;
2026-05-08 11:03:00 +08:00
using BingoBrain.HotFix;
2026-04-20 13:49:36 +08:00
namespace BingoBrain
{
public class BroadcastUI : BaseUI
{
private BroadcastUICtrl ctrl;
private BroadcastModel model;
private FGUI.ACommon.com_broadcast1 ui;
public BroadcastUI(BroadcastUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.BroadcastUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "ACommon";
uiInfo.assetName = "com_broadcast1";
2026-05-08 11:03:00 +08:00
uiInfo.layerType = UILayerType.Normal;
2026-04-20 13:49:36 +08:00
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = false;
}
#region
protected override void OnInit()
{
}
protected override void OnClose()
{
}
protected override void OnBind()
{
ui = baseUI as FGUI.ACommon.com_broadcast1;
}
protected override void OnOpenBefore(object args)
{
InitView();
//ui.y = 241;
// if (UI.Instance.IsExistUI(UIConst.RainPlayUI))
// {
// Setbuttom();
// }
// else
// {
// Settop();
// }
// ui.visible = false;
// if (Screen.safeArea.y != 0)
// {//刘海屏
// ui.y += Screen.safeArea.y;
// }
text_ui = ui.broad_cast_text;
ui.btn_record.SetClick(OpenRecord);
ui.broad_cast_text.btn_broad.SetClick(OpenRecord);
if (ConfigSystem.GetConfig<exBrPoolModel>() == null) return;
// ConfigSystem.GetConfig<exBrPoolModel_2>().dataList[0]
config_name_list = exBrPoolModel.config_name_list;
config_money_list = exBrPoolModel.config_money_list;
2026-05-08 11:03:00 +08:00
// GameDispatcher.Instance.AddListener(GameMsg.hideBroadCast, hideEvent);
// GameDispatcher.Instance.AddListener(GameMsg.showBroadCast, showEvent);
2026-04-20 13:49:36 +08:00
// UICtrlDispatcher.Instance.AddListener(UICtrlMsg.MainUI_Open, Settop);
// UICtrlDispatcher.Instance.AddListener(UICtrlMsg.RainPlayUI_Open, Setbuttom);
}
protected override void OnOpen(object args)
{
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
}
protected override void RemoveListener()
{
}
#endregion
private int time_count = 11;
private com_broadcast_text1 text_ui;
private List<string> config_name_list;
private List<string> config_money_list;
private bool main_ui_show = true;
//初始化页面逻辑
private Action closeCallback = null;
private void InitView()
{
Hall.Instance.UpdateSecondEvent += timeEvent;
// var sk = FX.Instance.SetFx<SkeletonAnimation>(ui.broad_cast_text.bg_panel, Fx_Type.fx_broad, closeCallback);
// sk.state.SetAnimation(0, "animation", true);
FX.Instance.SetFx<SkeletonAnimation>(ui.broad_cast_text.bg_panel, Fx_Type.fx_broad, sk =>
{
// ske_pot = sk;
// NAAVsa.AddCompleteEvent(cardSpine, OnChangeCardFinish);
// OnChangeCardFinish(null);
NAAVsa.PlayAnim(sk, "animation", true);
}, closeCallback);
ui.group_.y = 220;
if (Screen.safeArea.y != 0)
{//刘海屏
ui.group_.y += Screen.safeArea.y;
}
}
private void OpenRecord()
{
2026-05-08 11:03:00 +08:00
UICtrlDispatcher.Instance.Dispatch(SkinInfo.RecordViewUI_Open);
2026-04-20 13:49:36 +08:00
}
private void hideEvent(object sender = null)
{
Debug.Log("hide");
main_ui_show = false;
ui.visible = false;
}
private void showEvent(object sender = null)
{
Debug.Log("show");
main_ui_show = true;
ui.visible = true;
}
private void Settop(object sender = null)
{
ui.group_.y = 241;
if (Screen.safeArea.y != 0)
{//刘海屏
ui.group_.y += Screen.safeArea.y;
}
}
private void Setbuttom(object sender = null)
{
ui.group_.y = GRoot.inst.height - 300;
}
void timeEvent()
{
time_count++;
// if (time_count > 30)
// {
// time_count = 0;
// var name_index = UnityEngine.Random.Range(0, config_name_list.Count);
// var money_index = UnityEngine.Random.Range(0, config_money_list.Count);
// if (main_ui_show)
// {
// ui.visible = true;
// }
// Debug.Log(text_ui.cast_text.text);
// text_ui.cast_text.text = String.Format(text_ui.hide_text.text, config_name_list[name_index],
// config_money_list[money_index], DateTimeBoardk.Instance.GetCurrDateTime());
// text_ui.cast_text.x = 686;
// Tweener tweener = DOTween.To(() => text_ui.cast_text.x,
// x => text_ui.cast_text.x = x, -1300, 10);
// }
// time_count = 0;
//Debug.Log($"barry broad time count======== {time_count}");
if (time_count > 20)
{
time_count = 0;
var name_index = UnityEngine.Random.Range(0, config_name_list.Count);
var money_index = UnityEngine.Random.Range(0, config_money_list.Count);
Debug.Log(text_ui.cast_text.text);
string name = config_name_list[name_index];
if (name.Length > 4)
{
name = name[..4] + "...";
}
string broad_text = String.Format(text_ui.hide_text.text, name,
"$" + config_money_list[money_index], DateTimeBoardk.Instance.GetCurrDateTime());
text_ui.cast_text.text = broad_text;
// Tweener tweener = DOTween.To(() => ui.broad.x,
// x => ui.broad.x = x, 200, 0.5f);
ui.t0.Play();
DOVirtual.DelayedCall(3.5f, () =>
{
// Tweener tweener = DOTween.To(() => ui.broad.x,
// x => ui.broad.x = x, 1080, 0.5f);
ui.t1.Play();
});
string str = name + "-" + config_money_list[money_index] + "-" + DateTimeBoardk.Instance.GetCurrDateTime();
2026-05-08 11:03:00 +08:00
GameDispatcher.Instance.Dispatch(BingoInfo.updateRecordList, str);
2026-04-20 13:49:36 +08:00
}
}
}
}