Compare commits

...

2 Commits

Author SHA1 Message Date
e0b94ec2a7 真机小游戏的一些Bug 2025-03-18 18:49:39 +08:00
f620b95dae CS UI Page可以了 2025-03-17 21:46:23 +08:00
9 changed files with 236 additions and 126 deletions

File diff suppressed because one or more lines are too long

View File

@ -232,7 +232,7 @@ function ClimbingTowerDataMgr:OnClimbingTowerBeginAck(data)
end
function ClimbingTowerDataMgr:SendClimbingTowerEndReq(loadingTime,towerLevel,timeStamp)
ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_CLIMBING_TOWER_END_REQ, {loading_time = loadingTime, tower_level = towerLevel,record_time_stamp = timeStamp})
ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_CLIMBING_TOWER_END_REQ, {loading_time = loadingTime, tower_level = towerLevel,record_time_stamp = tonumber(timeStamp)})
end
function ClimbingTowerDataMgr:OnClimbingTowerEndAck(data)

View File

@ -172,76 +172,87 @@ function RedPointSimpleMgr:CheckRPLockState(treeNode)
end
function RedPointSimpleMgr:RefreshRedPointDisplayPriority(treeNode, needCheckLock)
if needCheckLock then
local unlockState = self:CheckRPLockState(treeNode)
if not unlockState then
return
end
end
local state = false
if #treeNode.sameGroup == 0 then
if treeNode.target == nil then
return
end
local state1 = false
if treeNode.stateGroup then
for _,v1 in pairs(treeNode.stateGroup) do
if v1 then
state1 = true
end
AW.async(function()
AW.await(self:WaitFillContentCompeleted())
if needCheckLock then
local unlockState = self:CheckRPLockState(treeNode)
if not unlockState then
return
end
else
state1 = treeNode.state
end
treeNode.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
return
end
local hasDisplay = false
for i = 1, #treeNode.sameGroup do
local v = treeNode.sameGroup[i]
if v then
local state = false
if #treeNode.sameGroup == 0 then
if treeNode.target == nil then
return
end
local state1 = false
if not state then
if v.stateGroup then
for _,v1 in pairs(v.stateGroup) do
if v1 then
state1 = true
if treeNode.stateGroup then
for _,v1 in pairs(treeNode.stateGroup) do
if v1 then
state1 = true
end
end
else
state1 = treeNode.state
end
treeNode.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
return
end
local hasDisplay = false
for i = 1, #treeNode.sameGroup do
local v = treeNode.sameGroup[i]
if v then
local state1 = false
if not state then
if v.stateGroup then
for _,v1 in pairs(v.stateGroup) do
if v1 then
state1 = true
end
end
else
state1 = v.state
end
if state1 then
state = true
end
else
state1 = v.state
end
if state1 then
state = true
end
else
state1 = v.state
end
if v.target then
if state1 and needCheckLock then
local unlockState = self:CheckRPLockState(v)
if unlockState and not hasDisplay then
hasDisplay = true
if v.target then
if state1 and needCheckLock then
local unlockState = self:CheckRPLockState(v)
if unlockState and not hasDisplay then
hasDisplay = true
else
state1 = false
end
v.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
else
state1 = false
if state1 and not hasDisplay then
hasDisplay = true
else
state1 = false
end
v.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
end
v.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
else
if state1 and not hasDisplay then
hasDisplay = true
else
state1 = false
end
v.target:SetActive(state1)
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_PAGE_REDPOINT_NTF,treeNode.data.Id,state1)
end
end
end
end)
end
local __waitCallback__ = function() end
function RedPointSimpleMgr:WaitFillContentCompeleted()
local func = function(cb)
__waitCallback__ = cb
end
return func
end
function RedPointSimpleMgr:FillContentCompeleted(wnd)
@ -274,6 +285,7 @@ function RedPointSimpleMgr:FillContentCompeleted(wnd)
redPointGo:SetActive(false)
self:RefreshRedPointDisplayPriority(treeNode, true)
__waitCallback__()
end
end
end

View File

@ -7,7 +7,7 @@ local PetRootPage = {
Pet = 1,
Qiyue = 2,
}
local pageToggleData = {}
local petMatsGridView
local sameNatureTypeAdd = 0
@ -26,6 +26,7 @@ function UIPetRootView:AddEventListener()
end
function UIPetRootView:FillContent(data, uiBase)
self.pageToggleData = {}
self.uiBase = uiBase
local gameObject = self.uiBase:GetRoot()
if gameObject ~= nil then
@ -61,23 +62,23 @@ function UIPetRootView:RefreshCardDatasByFilter(uiId, data, isFilter)
end
function UIPetRootView:OnValueChangedToggle()
self.petScrollView:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.contract:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue)
self.btnFilter:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.petScrollView:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.contract:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue)
self.btnFilter:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnDecompose:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnBattle:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnStamp:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnDecompose:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnBattle:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.btnStamp:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet)
self.contractInfo:SetActive(pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue)
self.contractInfo:SetActive(self.pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue)
if pageToggleData.toggleDefaultIndex == PetRootPage.Pet then
if self.pageToggleData.toggleDefaultIndex == PetRootPage.Pet then
if petMatsGridView then
petMatsGridView:Refresh(true)
end
self.btnFilter.check:SetActive(self.controller:GetIsFilter())
elseif pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue then
elseif self.pageToggleData.toggleDefaultIndex == PetRootPage.Qiyue then
self.controller:RefreshQiyueDatas()
local loopGridView = self.contractScrollView.loopListView
@ -345,7 +346,7 @@ function UIPetRootView:AddUIEventListener()
self.uiBase:AddButtonEventListener(self.btnContractAttr.button, self, self.OnContractClick)
self.uiBase:AddButtonEventListener(self.btnInfo.button, self, self.OnClickPlayRuleBtn)
CommonUtil.CreateToggleMouduleOnlyBtns(self, pageToggleData, self.toggleGroup, 1, self.OnValueChangedToggle)
CommonUtil.CreateToggleMouduleOnlyBtns(self, self.pageToggleData, self.toggleGroup, 1, self.OnValueChangedToggle)
end
function UIPetRootView:OnFilterClick()
@ -418,7 +419,7 @@ end
function UIPetRootView:OnClose()
self.contractScrollView.loopListView:Dispose()
pageToggleData = nil
self.pageToggleData = nil
end
function UIPetRootView:OnDispose()

View File

@ -227,6 +227,7 @@ public class GameMgr : SingletonMono<GameMgr>
{
CheckVersion();
InitBugly();
Debug.Log("OnAssetMapInitComplete");
}
private void CheckVersion()

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace UIPage
{
@ -21,7 +22,7 @@ namespace UIPage
public CsUIMgr()
{
_UIMgr = new UIMgr();
_UIMgr = UIMgr.Instance;
_ShowUIPageList = new();
EventMgr.AddEventListener<int>((int)UIEventNames.LIMIT_RECHARGE_OPEN_UI_NTF, OpenLimitRechargeUI);
_UIMgr.SetClickFunc(OnClickScreen);
@ -101,7 +102,8 @@ namespace UIPage
public void ClosePage(int id, bool needOutAnim)
{
var ignoreCheckCam = id == UIPageName.UILoading || id == UIPageName.UIStartLoading;
_UIMgr.Close(id, ignoreCheckCam, needOutAnim);
}
public void ErrorNoticeDisplay(int error)

View File

@ -1,3 +1,5 @@
using UnityEngine.UI;
namespace UIPage
{
public partial class UIChatView : UIViewBase
@ -7,8 +9,15 @@ namespace UIPage
}
public override void FillContent(object data, CsUIBase uiBase)
public override void Init()
{
this.uiBase.AddButtonEventListener(this._BtnCloseFlat_Button, OnBtnClose);
this.uiBase.AddButtonEventListener(this._Alpha_Button, OnBtnClose);
}
public void OnBtnClose(Button button, object param)
{
this.UIClose();
}
}
}

View File

@ -146,7 +146,7 @@ namespace UIPage
public virtual void FillContent(object data, CsUIBase uiBase)
{
this.uiBase = uiBase;
InitGenerate(this.uiBase.transform, data);
InitGenerate(this.uiBase.GetRoot().transform, data);
Init();
}

View File

@ -486,7 +486,6 @@ public class UIMgr : SingletonMono<UIMgr>
{
creator = mUIPageCreators[pageID];
UIBase page = creator();
mUIPagePool.Add(pageID, page);
isOpening = true;
page.Open(null,param);
@ -566,6 +565,8 @@ public class UIMgr : SingletonMono<UIMgr>
page1.NeedCache = needCache;
page1.ShowTopBtn = bShowTopBtn;
view.uiData = pageData;
view.uiBase = page1;
mUIPagePool.Add(pageID, page1);
isOpening = true;
page1.Open(null, param);
@ -632,33 +633,42 @@ public class UIMgr : SingletonMono<UIMgr>
//return;
}
LuaUIBase page1 = Instance.gameObject.AddComponent<LuaUIBase>();
page1.PageId = pageID;
page1.PageAnimInType = inAni;
page1.PageAnimOutType = outAni;
page1.StrAssetBundle = resPath;
page1.ChildPaths = childPaths;
page1.MLuaTable = luaView;
page1.MPersistentStatus = needPersistent;
page1.MUIType = uiType;
page1.initSortingOrder = initSortingOrder;
page1.MPageName = name;
page1.MSourceUIID = sourceUIId;
page1.IsBattleMainPage = battleMainPage;
page1.NeedCache = needCache;
page1.ShowTopBtn = bShowTopBtn;
/*if (page1.MSourceUIID == 0 && mCurrentPage != null)
// CSUI: 判断是使用LuaUI还是使用CsUI
if (pageID == UIPageName.UIChat && false)
{
page1.MSourceUIID = mCurrentPage.PageId;
}*/
var view = new UIChatView();
var cfgUIData = ManagerContainer.CsCfgMgr.GetUIData(pageID);
CsOpenUI(cfgUIData, view, initSortingOrder, param, sourceUIId, needOutAnim);
return;
}
else
{
LuaUIBase page1 = Instance.gameObject.AddComponent<LuaUIBase>();
page1.PageId = pageID;
page1.PageAnimInType = inAni;
page1.PageAnimOutType = outAni;
page1.StrAssetBundle = resPath;
page1.ChildPaths = childPaths;
page1.MLuaTable = luaView;
page1.MPersistentStatus = needPersistent;
page1.MUIType = uiType;
page1.initSortingOrder = initSortingOrder;
page1.MPageName = name;
page1.MSourceUIID = sourceUIId;
page1.IsBattleMainPage = battleMainPage;
page1.NeedCache = needCache;
page1.ShowTopBtn = bShowTopBtn;
/*if (page1.MSourceUIID == 0 && mCurrentPage != null)
{
page1.MSourceUIID = mCurrentPage.PageId;
}*/
mUIPagePool.Add(pageID, page1);
isOpening = true;
page1.Open(null, param);
mUIPagePool.Add(pageID, page1);
isOpening = true;
page1.Open(null, param);
mCurrentPage = page1;
}catch(System.Exception e)
mCurrentPage = page1;
}
} catch(System.Exception e)
{
DebugHelper.LogError(e.Message);
}
@ -1025,7 +1035,6 @@ public class UIMgr : SingletonMono<UIMgr>
mOpenedTotalList.Clear();
mHideTmpPages.Clear();
foreach (var p in mUIPagePool)
{
if (p.Value != null && p.Value.PageId != pageId && !p.Value.MPersistentStatus && p.Value.MUIType >= 0 && p.Value.MUIType < 5)
@ -1036,7 +1045,6 @@ public class UIMgr : SingletonMono<UIMgr>
mRemovedPages.Add(p.Value);
}
}
for(int i = 0; i < mHideTmpPages.Count;++i)
{
mUIPagePool.Remove(mHideTmpPages[i]);