gdl_123 3 месяцев назад
Родитель
Сommit
94e80fead7

+ 2 - 0
Assets/Lua/Core/Constant.lua

@@ -9,6 +9,8 @@ local Constant = {
 
     DeleteAccount = false, -- 删除账户
 
+    OpenSystemLink = false,
+
     HeroLeaderIcon = "FrameNew/label_main",
     HeroBattleIcon = "FrameNew/label_battling",
 

+ 2 - 0
Assets/Lua/Enum/Enum.lua

@@ -1059,6 +1059,8 @@ local Enum = {
         IdolGiftBroad = 16, -- 偶像馈赠播报
         LuckyEgg = 17, -- 砸蛋奖励播报
 
+        SdkLink = 18, 
+
         TimeLimitDel = 100,
     },
 

+ 20 - 1
Assets/Lua/Logic/ChatData.lua

@@ -31,7 +31,9 @@ function ChatData:Init()
 
     table.insert(self.data.systemDatas, 1, welcomeSystemData)
     table.insert(self.data.chatDatas.worldChats, 1, welcomeSystemData)
-
+    if Constant.OpenSystemLink then
+         ManagerContainer.LuaTimerMgr:AddTimer(5000, 1, self, self.AddSdkLink, nil)      
+    end
     if not privateChatPersistentSystem then
         privateChatPersistentSystem = require("PrivateChatPersistentSystem"):new()
     end
@@ -661,4 +663,21 @@ function ChatData:GetChatChannelType()
 	return self.data.channelType or Enum.ChatChannel.World
 end
 
+
+function  ChatData:AddSdkLink()
+     local SdkLinkSystemData = {}
+    SdkLinkSystemData.type = Enum.ChatSystemType.SdkLink
+    SdkLinkSystemData.isSystem = true
+    SdkLinkSystemData.nickname = "SdkLinkTxt"
+    SdkLinkSystemData.sendTime = 0
+
+    --if #self.data.systemDatas >1 then
+    --     local lastData = self.data.systemDatas[#self.data.systemDatas]
+         --SdkLinkSystemData.sendTime = lastData.sendTime + 1 
+    --end
+   
+
+    table.insert(self.data.systemDatas, #self.data.systemDatas + 1, SdkLinkSystemData)
+    table.insert(self.data.chatDatas.worldChats, #self.data.chatDatas.worldChats + 1, SdkLinkSystemData)
+end
 return ChatData

+ 8 - 0
Assets/Lua/UI/Common/ChatTextItemCtr.lua

@@ -28,6 +28,14 @@ function ChatTextItemCtr:SetData(wnd, item, logicData, enterType, onClickOwner,
             --if item.text.symbolTextEvent then
             --    item.text.symbolTextEvent:RegisterClickEvent(wnd, wnd.SystemChatHyperClick)
             --end
+        elseif  logicData.type == Enum.ChatSystemType.SdkLink then
+            item.text.symbolText.raycastTarget = true
+            item.text.symbolText.text = I18N.T(logicData.nickname)
+            item.text.symbolTextEvent:RegisterClickEvent(nil, function (hyperParam)
+                    local lurl = hyperParam
+                    --LogError("SdkLink hyperParam = "..hyperParam)
+                    UnityEngine.Application.OpenURL(lurl)
+                end)
         elseif logicData.type == Enum.ChatSystemType.PassMap then
             local levelData = ManagerContainer.CfgMgr:GetLevelDataById(logicData.paramIds[1])
             if levelData ~= nil then