222 lines
6.3 KiB
C#
222 lines
6.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using DG.Tweening;
|
|
using FGUI.ZM_Common_01;
|
|
using Spine.Unity;
|
|
using UnityEngine;
|
|
using Random = UnityEngine.Random;
|
|
|
|
namespace RedHotRoast
|
|
{
|
|
public class BroadcastUI : BaseUI
|
|
{
|
|
private BroadcastUICtrl ctrl;
|
|
private BroadcastModel model;
|
|
private com_broadcast1 ui;
|
|
|
|
public BroadcastUI(BroadcastUICtrl ctrl) : base(ctrl)
|
|
{
|
|
uiName = UIConst.BroadcastUI;
|
|
this.ctrl = ctrl;
|
|
}
|
|
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
|
{
|
|
uiInfo.packageName = "ZM_Common_01";
|
|
uiInfo.assetName = "com_broadcast1";
|
|
uiInfo.layerType = UILayerType.Highest;
|
|
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 com_broadcast1;
|
|
}
|
|
|
|
protected override void OnOpenBefore(object args)
|
|
{
|
|
InitView();
|
|
//ui.y = 241;
|
|
|
|
if (UIManager.Instance.IsExistUI(UIConst.RainPlayUI))
|
|
{
|
|
|
|
Settop();
|
|
}
|
|
|
|
else
|
|
{
|
|
Setbuttom();
|
|
}
|
|
// ui.visible = false;
|
|
// if (Screen.safeArea.y != 0)
|
|
// {//刘海屏
|
|
// ui.y += Screen.safeArea.y;
|
|
// }
|
|
text_ui = ui.broad_cast_text;
|
|
|
|
|
|
text_ui.btn_broad.SetClick(OpenRecord);
|
|
|
|
if (ConfigSystem.GetConfig<SubscribePodcast>() == null) return;
|
|
config_name_list = SubscribePodcastModel.config_name_list;
|
|
config_vip_level_list = SubscribePodcastModel.config_vip_level_list;
|
|
|
|
GameDispatcher.Instance.AddListener(GameMsg.hideBroadCast, hideEvent);
|
|
GameDispatcher.Instance.AddListener(GameMsg.showBroadCast, showEvent);
|
|
UICtrlDispatcher.Instance.AddListener(UICtrlMsg.MainUI_Open, Setbuttom);
|
|
UICtrlDispatcher.Instance.AddListener(UICtrlMsg.RainPlayUI_Open, Settop);
|
|
}
|
|
|
|
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_vip_level_list;
|
|
private bool main_ui_show = true;
|
|
//初始化页面逻辑
|
|
|
|
private Action closeCallback;
|
|
private void InitView()
|
|
{
|
|
HallManager.Instance.UpdateSecondEvent += timeEvent;
|
|
|
|
|
|
var sk = FXManager.Instance.SetFx<SkeletonAnimation>(ui.broad_cast_text.bg_panel, Fx_Type.fx_broad, ref closeCallback);
|
|
sk.state.SetAnimation(0, "animation", true);
|
|
ui.broad_cast_text.bg_panel.SetScale(1.45f, 1.1f);
|
|
}
|
|
|
|
private void OpenRecord()
|
|
{
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RecordViewUI_Open);
|
|
}
|
|
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 = 350;
|
|
if (Screen.safeArea.y != 0)
|
|
{//刘海屏
|
|
ui.group_.y += 68;
|
|
}
|
|
}
|
|
private void Setbuttom(object sender = null)
|
|
{
|
|
ui.group_.y = 170;
|
|
if (Screen.safeArea.y != 0)
|
|
{//刘海屏
|
|
ui.group_.y += 68;
|
|
}
|
|
}
|
|
# if GAME_RELEASE
|
|
private const int MaxTime = 300;
|
|
#else
|
|
private const int MaxTime = 10;
|
|
#endif
|
|
void timeEvent()
|
|
{
|
|
time_count++;
|
|
Debug.Log(time_count);
|
|
Debug.Log(MaxTime);
|
|
if (time_count > MaxTime)
|
|
{
|
|
time_count = 0;
|
|
var name_index = Random.Range(0, config_name_list.Count);
|
|
var money_index = Random.Range(0, config_vip_level_list.Count);
|
|
Debug.Log(text_ui.cast_text.text);
|
|
|
|
string name = config_name_list[name_index];
|
|
if (name.Length > 8)
|
|
{
|
|
name = name[..8] + "..";
|
|
}
|
|
string broad_text = String.Format(text_ui.hide_text.text, name,
|
|
config_vip_level_list[money_index], DateTimeManager.Instance.GetCurrDateTime());
|
|
text_ui.cast_text.text = broad_text;
|
|
|
|
var lv = GetVipLevelFromName(config_vip_level_list[money_index]);
|
|
text_ui.broad_icon_loader.url = $"ui://LG_Common/vip_{lv}";
|
|
|
|
// 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_vip_level_list[money_index] + "#" + DateTimeManager.Instance.GetCurrDateTime();
|
|
GameDispatcher.Instance.Dispatch(GameMsg.updateRecordList, str);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private int GetVipLevelFromName(string name)
|
|
{
|
|
var vip_level = 1;
|
|
switch (name)
|
|
{
|
|
case "Gold":
|
|
vip_level = 1;
|
|
break;
|
|
case "Platinum":
|
|
vip_level = 2;
|
|
break;
|
|
case "Diamond":
|
|
vip_level = 3;
|
|
break;
|
|
}
|
|
|
|
return vip_level;
|
|
}
|
|
}
|
|
}
|