bingo 项目提交
This commit is contained in:
@@ -0,0 +1,197 @@
|
||||
using FairyGUI;
|
||||
using System.Linq;
|
||||
using BingoBrain.Core;
|
||||
using UnityEngine;
|
||||
using BingoBrain.HotFix;
|
||||
using FGUI.JTodo;
|
||||
using FGUI.ACommon;
|
||||
using DG.Tweening;
|
||||
|
||||
namespace BingoBrain
|
||||
{
|
||||
public class BasptUI : BaseUI
|
||||
{
|
||||
private BasptUICtrl ctrl;
|
||||
private BasptModel model;
|
||||
private com_todo ui;
|
||||
|
||||
private float time = 0;
|
||||
|
||||
public BasptUI(BasptUICtrl ctrl) : base(ctrl)
|
||||
{
|
||||
uiName = UIConst.BasptUI;
|
||||
this.ctrl = ctrl;
|
||||
}
|
||||
|
||||
protected override void SetUIInfo(UIInfo uiInfo)
|
||||
{
|
||||
uiInfo.packageName = "JTodo";
|
||||
uiInfo.assetName = "com_todo";
|
||||
uiInfo.layerType = UILayerType.Normal;
|
||||
uiInfo.isNeedOpenAnim = false;
|
||||
uiInfo.isNeedCloseAnim = false;
|
||||
uiInfo.isNeedUIMask = false;
|
||||
uiInfo.isTickUpdate = true;
|
||||
}
|
||||
|
||||
#region 生命周期
|
||||
|
||||
public override void OnUpdate()
|
||||
{
|
||||
time += Time.deltaTime;
|
||||
if (time > 1)
|
||||
{
|
||||
GameDispatcher.Instance.Dispatch(BingoInfo.UpdateTodoView);
|
||||
time = 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnInit()
|
||||
{
|
||||
model = ModuleBoardk.GetModel(ModelConst.BasptModel) as BasptModel;
|
||||
}
|
||||
|
||||
protected override void OnClose()
|
||||
{
|
||||
GameDispatcher.Instance.RemoveListener(BingoInfo.GetReward, SetMakeup);
|
||||
}
|
||||
|
||||
protected override void OnBind()
|
||||
{
|
||||
ui = baseUI as com_todo;
|
||||
}
|
||||
|
||||
protected override void OnOpenBefore(object args)
|
||||
{
|
||||
GameDispatcher.Instance.AddListener(BingoInfo.GetReward, SetMakeup);
|
||||
if (!GameHelper.IsGiftSwitch())
|
||||
{
|
||||
ui.btn_cash.visible = false;
|
||||
ui.btn_coin.visible = false;
|
||||
ui.settings.visible=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
(ui.btn_cash as com_102).gift.selectedIndex = 1;
|
||||
}
|
||||
if (Screen.safeArea.y != 0)
|
||||
{//刘海屏
|
||||
ui.group_.y += Screen.safeArea.y;
|
||||
}
|
||||
InitView();
|
||||
SetMakeup();
|
||||
}
|
||||
|
||||
protected override void OnOpen(object args)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
void SetMakeup(object a = null)
|
||||
{
|
||||
|
||||
com_102 cash = ui.btn_cash as com_102;
|
||||
com_101 gold = ui.btn_coin as com_101;
|
||||
DOVirtual.Float(0, (float)PreferencesMgr.Instance.Currency102, 0.5f,
|
||||
value => { cash.title.text = value.ToString("0.00"); });
|
||||
DOVirtual.Float(0, PreferencesMgr.Instance.Currency101, 0.5f,
|
||||
value => { gold.title.text = ((int)value).ToString(); });
|
||||
}
|
||||
private void InitView()
|
||||
{
|
||||
|
||||
// ui.list_todo.itemRenderer = OnTodoItemRenderer;
|
||||
// ui.list_todo.numItems = 3;
|
||||
initBtn();
|
||||
ui.settings.SetClick(() =>
|
||||
{
|
||||
UICtrlDispatcher.Instance.Dispatch(SkinInfo.JThinkUI_Open);
|
||||
});
|
||||
}
|
||||
private void initBtn()
|
||||
{
|
||||
FGUI.JTodo.btn_todo[] btn_arr = new FGUI.JTodo.btn_todo[] { ui.btn_0, ui.btn_1, ui.btn_2 };
|
||||
for (int i = 0; i < btn_arr.Length; i++)
|
||||
{
|
||||
OnTodoItemRenderer(i, btn_arr[i]);
|
||||
if (GameHelper.IsGiftSwitch()) btn_arr[i].gift.selectedIndex = 1;
|
||||
}
|
||||
}
|
||||
private void OnTodoItemRenderer(int index, GObject item)
|
||||
{
|
||||
if (item is FGUI.JTodo.btn_todo todoItem)
|
||||
{
|
||||
todoItem.cont_type.selectedIndex = index;
|
||||
todoItem.SetClick(() =>
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
OnClickSignIn();
|
||||
break;
|
||||
case 1:
|
||||
OnClickLuckyWheel();
|
||||
break;
|
||||
case 2:
|
||||
OnClickDailyTask();
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
todoItem.cont_red.selectedIndex = index switch
|
||||
{
|
||||
0 => IsCanSignIn() ? FGUI.JTodo.btn_todo.Red_red : FGUI.JTodo.btn_todo.Red_none,
|
||||
1 => IsCanLuckyWheel() ? FGUI.JTodo.btn_todo.Red_red : FGUI.JTodo.btn_todo.Red_none,
|
||||
2 => IsCanDailyTask() ? FGUI.JTodo.btn_todo.Red_red : FGUI.JTodo.btn_todo.Red_none,
|
||||
_ => todoItem.cont_red.selectedIndex
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private void OnClickSignIn()
|
||||
{
|
||||
UICtrlDispatcher.Instance.Dispatch(SkinInfo.JTodUI_Open);
|
||||
}
|
||||
|
||||
private void OnClickLuckyWheel()
|
||||
{
|
||||
UICtrlDispatcher.Instance.Dispatch(SkinInfo.BingoToyUI_Open);
|
||||
}
|
||||
|
||||
private void OnClickDailyTask()
|
||||
{
|
||||
UICtrlDispatcher.Instance.Dispatch(SkinInfo.MissionUI_Open);
|
||||
}
|
||||
|
||||
private bool IsCanSignIn()
|
||||
{
|
||||
return GameHelper.IsCanSignInToday();
|
||||
}
|
||||
|
||||
private bool IsCanLuckyWheel()
|
||||
{
|
||||
return GameHelper.GetNowTime() >= PreferencesMgr.Instance.NextOpenWheelStampTime;
|
||||
}
|
||||
|
||||
internal bool IsCanDailyTask()
|
||||
{
|
||||
bool hasActiveMission = false;
|
||||
for (int i = 0; i < PreferencesMgr.Instance.ActiveMissions.Count; i++)
|
||||
{
|
||||
if (!PreferencesMgr.Instance.ActiveMissions[i].IsReward && PreferencesMgr.Instance.ActiveMissions[i].Progress >= PreferencesMgr.Instance.ActiveMissions[i].MaxProgress)
|
||||
{
|
||||
hasActiveMission = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return hasActiveMission;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void OnRefreshView()
|
||||
{
|
||||
InitView();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user