2023-07-14 19:35:33 +00:00
|
|
|
|
local FunctionParams
|
|
|
|
|
local FunctionDictionary
|
2024-09-01 20:49:41 +00:00
|
|
|
|
local FunctionParamPath = "Client/Fight/LuaFunctionParams/LuaFunctionParams.tab"
|
2023-07-14 19:35:33 +00:00
|
|
|
|
|
|
|
|
|
--CS.XFight.Instance.InputControl.OnClick
|
|
|
|
|
--CS.XNpcOperationClickKey
|
2024-09-01 20:49:41 +00:00
|
|
|
|
--CS.XOperationClickType
|
2023-07-14 19:35:33 +00:00
|
|
|
|
XFightUiManager = XFightUiManager or {}
|
|
|
|
|
|
|
|
|
|
function XFightUiManager.Init()
|
|
|
|
|
FunctionParams = XTableManager.ReadByIntKey(FunctionParamPath, XTable.XTableLuaFunctionParams, "Id")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--CSharpCallLua
|
2024-09-01 20:49:41 +00:00
|
|
|
|
function XFightUiManager.DoLuaFunctionWithValue(id, value, value2)
|
2023-07-14 19:35:33 +00:00
|
|
|
|
if not FunctionParams then
|
|
|
|
|
XFightUiManager.Init()
|
|
|
|
|
end
|
|
|
|
|
local funcName = FunctionParams[id].FunctionName
|
2024-09-01 20:49:41 +00:00
|
|
|
|
FunctionDictionary[funcName](id, value, value2)
|
2023-07-14 19:35:33 +00:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--CSharpCallLua
|
|
|
|
|
function XFightUiManager.DoLuaFunction(id)
|
|
|
|
|
if not FunctionParams then
|
|
|
|
|
XFightUiManager.Init()
|
|
|
|
|
end
|
|
|
|
|
local funcName = FunctionParams[id].FunctionName
|
|
|
|
|
FunctionDictionary[funcName](id)
|
|
|
|
|
end
|
|
|
|
|
|
2024-09-01 20:49:41 +00:00
|
|
|
|
-----------跟随tips CSharpCallLua begin--------------
|
|
|
|
|
local function GetUiFightBrilliantwalk()
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return fight.UiManager:GetUi(typeof(CS.XUiFight)):FindChildUi("UiFightBrilliantwalk")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function BrilliantwalkInit(uiLuaTableKey, ...)
|
|
|
|
|
local ui = GetUiFightBrilliantwalk()
|
|
|
|
|
if not ui then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local data = {...}
|
|
|
|
|
local npc = fight.NpcManager:GetNpc(data[2])
|
|
|
|
|
if not npc then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
local func = ui.UiProxy.UiLuaTable[uiLuaTableKey]
|
|
|
|
|
func(ui.UiProxy.UiLuaTable, data[1], npc, data[3], data[4], data[5], data[6], data[7], data[8], data[9])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function XFightUiManager.DoBrilliantwalkInitTips(id, npcId, styleType, xOffset, yOffset, endX, endY, jointName, effectName)
|
|
|
|
|
BrilliantwalkInit("InitTips", id, npcId, styleType, xOffset, yOffset, endX, endY, jointName, effectName)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function XFightUiManager.DoBrilliantwalkInitTipsEx(id, npcId, styleType, xOffset, yOffset, endX, endY, jointName, configId)
|
|
|
|
|
BrilliantwalkInit("InitTipsEx", id, npcId, styleType, xOffset, yOffset, endX, endY, jointName, configId)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function XFightUiManager.DoBrilliantwalkSetTipsDesc(id, textIndex, tipTextId, varIndex, value)
|
|
|
|
|
local ui = GetUiFightBrilliantwalk()
|
|
|
|
|
if not ui then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
local func = ui.UiProxy.UiLuaTable["SetTipsDesc"]
|
|
|
|
|
func(ui.UiProxy.UiLuaTable, id, textIndex, tipTextId, varIndex, value)
|
|
|
|
|
end
|
|
|
|
|
-----------跟随tips CSharpCallLua end---------------
|
|
|
|
|
|
2023-07-14 19:35:33 +00:00
|
|
|
|
FunctionDictionary = {
|
|
|
|
|
["DoNieRoleDeath"] = function(id,value)
|
|
|
|
|
XLog.Debug("DoNieRoleDeath", id, tostring(value))
|
|
|
|
|
if XLuaUiManager.IsUiShow("UiNieREasterEgg") then
|
|
|
|
|
XLog.Error("界面处于展示状态,请检查行为树节点!!!")
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
--FunctionParams[id].Params
|
|
|
|
|
if value < 3 then
|
|
|
|
|
local isFirstDeath = value == 1
|
|
|
|
|
XLuaUiManager.Open("UiNieREasterEgg", false , isFirstDeath)
|
|
|
|
|
else
|
|
|
|
|
local lastName, nowName = XDataCenter.NieRManager.GetNieREasrerEggPlayerName()
|
|
|
|
|
XLuaUiManager.Open("UiFightNieRTips",lastName, nowName)
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
["DoOpenChildUi"] = function(id, value)
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local uiName = FunctionParams[id].Params[1]
|
|
|
|
|
|
|
|
|
|
fight.UiManager:GetUi(typeof(CS.XUiFight)):OpenChildUi(uiName, value)
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
["DoCloseChildUi"] = function(id)
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local uiName = FunctionParams[id].Params[1]
|
|
|
|
|
fight.UiManager:GetUi(typeof(CS.XUiFight)):CloseChildUi(uiName)
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
["DoChildUiFunction"] = function(id, value)
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local uiName = FunctionParams[id].Params[1]
|
|
|
|
|
local ui = fight.UiManager:GetUi(typeof(CS.XUiFight)):FindChildUi(uiName)
|
|
|
|
|
if not ui then
|
|
|
|
|
XLog.Error(string.format("子Ui未加载! name:%s", uiName))
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local funcName = FunctionParams[id].Params[2]
|
|
|
|
|
local func = ui.UiProxy.UiLuaTable[funcName]
|
|
|
|
|
if not func then
|
|
|
|
|
XLog.Error(string.format("不存在的子Ui方法! name:%s", funcName))
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
func(ui.UiProxy.UiLuaTable, value)
|
|
|
|
|
end,
|
|
|
|
|
|
2024-09-01 20:49:41 +00:00
|
|
|
|
["DoChildUiFunctionEx"] = function(id, value, value2)
|
|
|
|
|
local fight = CS.XFight.Instance
|
|
|
|
|
if not fight then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local uiName = FunctionParams[id].Params[1]
|
|
|
|
|
local ui = fight.UiManager:GetUi(typeof(CS.XUiFight)):FindChildUi(uiName)
|
|
|
|
|
if not ui then
|
|
|
|
|
XLog.Error(string.format("子Ui未加载! name:%s", uiName))
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local funcName = FunctionParams[id].Params[2]
|
|
|
|
|
local func = ui.UiProxy.UiLuaTable[funcName]
|
|
|
|
|
if not func then
|
|
|
|
|
XLog.Error(string.format("不存在的子Ui方法! name:%s", funcName))
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
func(ui.UiProxy.UiLuaTable, value, value2)
|
|
|
|
|
end,
|
|
|
|
|
|
2023-07-14 19:35:33 +00:00
|
|
|
|
["HideClientScene"] = function(id, value)
|
|
|
|
|
local fight = CS.XFight.Instance;
|
|
|
|
|
if fight:GetClientRole().Npc.Id == value then
|
|
|
|
|
CS.XRLManager.RLScene:HideRendering(true)
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
["HideClientSceneEx"] = function(id, value)
|
|
|
|
|
CS.XRLManager.RLScene:HideRendering(value)
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
["HideClientFightUi"] = function(id, value)
|
|
|
|
|
local fight = CS.XFight.Instance;
|
|
|
|
|
if fight:GetClientRole().Npc.Id == value then
|
|
|
|
|
fight.UiManager:GetUi(typeof(CS.XUiFight)):SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
}
|