【ID1000262】签到显示问题修改

main
chenyuqi 2024-10-22 14:28:23 +08:00
parent d8d65f326b
commit 2a1b5b0762
8 changed files with 68 additions and 11 deletions

View File

@ -6,7 +6,10 @@
{
None,
// add your event name here
//part
PartLogic,
//MainPanel
EN_ShowAllCharacterSortType,
EN_CharacterLevelUp,
@ -15,6 +18,7 @@
EN_ShowAllCharacterOpenBaseAttriUI,
EN_UIControllCultivateMainInput,
EN_UICultivateUIStateChange,
Accumulate_Refresh,
//看板娘相关
ChangeMainPanelPoster,

View File

@ -184,7 +184,10 @@ namespace Gameplay.Level
{
CurrLevel = null;
IsInLevel = false;
await JumpToManager.JumpFuncAsync(cfg.JumpFuncType.PVP_Main);
if (!SignUpManager.Instance.NeedShowDailyAccumulate)
{
await JumpToManager.JumpFuncAsync(cfg.JumpFuncType.PVP_Main);
}
}));
else
GameStateManager.Instance.ChangeState(new GameStateMainScene(false,
@ -192,7 +195,10 @@ namespace Gameplay.Level
{
CurrLevel = null;
IsInLevel = false;
await JumpToManager.JumpFuncAsync(cfg.JumpFuncType.Level_Select, levelID);
if (!SignUpManager.Instance.NeedShowDailyAccumulate)
{
await JumpToManager.JumpFuncAsync(cfg.JumpFuncType.Level_Select, levelID);
}
}));
}

View File

@ -55,6 +55,8 @@ namespace Gameplay.Net
{
Actor.Instance.Logic.SetCount(m_PB.Datas[i].Id, m_PB.Datas[i].Value);
}
EventManager.Instance.Send(EventManager.EventName.PartLogic);
}
}
}

View File

@ -33,7 +33,10 @@ public class SignObjAccumulate : SignObjBase
public DataSign Cfg => _cfg;
public List<ItemCount> ItemList => _itemList;
public int AccumulateCount => _accumulateCount;
public bool IsNeedToShow => _isNeedShowSign;
public bool IsNeedToShow {
get{return _isNeedShowSign;}
set { _isNeedShowSign = value; }
}
public int CycleCount => _cycleCount;
public int TotalCount => _totalCount;

View File

@ -10,14 +10,32 @@ using Constants = PhxhSDK.Constants;
public class SignUpManager : Singlenton<SignUpManager>, IInitable
{
private Dictionary<int, SignObjAccumulate> _accumulateDic;
public bool DoNotShowDailyAccumulate; //可展示每日登录签到
public bool NeedShowDailyAccumulate
{
get{
if (_accumulateDic != null)
{
if (_accumulateDic.TryGetValue(1, out var accObj))
{
return accObj.IsNeedToShow;
}
}
return false;
}
}
public void Init()
{
_accumulateDic = new Dictionary<int, SignObjAccumulate>();
EventManager.Instance.Register(EventManager.EventName.PartLogic, OnPartLogicRefresh);
}
public void Release()
{
EventManager.Instance.Unregister(EventManager.EventName.PartLogic, OnPartLogicRefresh);
}
private void _CreateSignObjs()
@ -49,10 +67,13 @@ public class SignUpManager : Singlenton<SignUpManager>, IInitable
if (GuideManager.Instance.IsGuiding) // 引导中不弹每日登录奖励
return false;
if (_accumulateDic.Count > 0)
if (DoNotShowDailyAccumulate)
{
return false;
_CreateSignObjs();
}
if (_accumulateDic.Count <= 0)
_CreateSignObjs();
if (_accumulateDic[1].IsNeedToShow)
{
@ -72,4 +93,14 @@ public class SignUpManager : Singlenton<SignUpManager>, IInitable
return null;
}
private void OnPartLogicRefresh()
{
_CreateAccumulateObjs();
if (DoNotShowDailyAccumulate)
{
DoNotShowDailyAccumulate = false;
}
EventManager.Instance.Send(EventManager.EventName.Accumulate_Refresh);
}
}

View File

@ -371,10 +371,10 @@ namespace Gameplay.Story.Cmp.Impl
public static async void ShowBlackTransition(float enterTime)
{
if (ShowTransitionMgr.Instance.IsField)
{
return;
}
// if (ShowTransitionMgr.Instance.IsField)
// {
// return;
// }
var time = enterTime - 0.05f;
time = time > 0 ? time : 0f;
await ShowTransitionMgr.Instance.EnterBlackTransition();

View File

@ -274,6 +274,7 @@ public class UI_DailyBonusController : UIWindow
_showAnimCanvasGroup = canvasGroup;
_showItemObj = cell;
canvasGroup.alpha = 0;
_signObj.IsNeedToShow = false;
}
else
{

View File

@ -1266,6 +1266,7 @@ public class UI_MainPanelController : UIWindow
InputManager.Instance.OnClick += OnClick;
EventManager.Instance.Register(EventManager.EventName.UIOpen, OnStopDiaogue);
EventManager.Instance.Register(EventManager.EventName.Accumulate_Refresh, OnAccumulateRefresh);
}
protected override void OnUpdate()
@ -1323,6 +1324,7 @@ public class UI_MainPanelController : UIWindow
protected override void OnHideWindow()
{
EventManager.Instance.Unregister(EventManager.EventName.UIOpen, OnStopDiaogue);
EventManager.Instance.Unregister(EventManager.EventName.Accumulate_Refresh, OnAccumulateRefresh);
InputManager.Instance.OnClick -= OnClick;
InputManager.Instance.OnFingerUpUI -= OnClick;
@ -1783,6 +1785,14 @@ public class UI_MainPanelController : UIWindow
});
}
/// <summary>
/// 活动更新回调
/// </summary>
private async void OnAccumulateRefresh()
{
await SignUpManager.Instance.CheckShowSignUp();
}
private async void UIAnimOpen()
{
IsShowRoot = true;