UIChat:剧情播放完后,增加好感度
This commit is contained in:
parent
8dbdc986b7
commit
2fde32e789
@ -1,6 +1,7 @@
|
||||
key,内容
|
||||
key,Language
|
||||
string,string
|
||||
system,系统
|
||||
player,玩家
|
||||
actor_nvshen,女神
|
||||
actor_weier,薇儿
|
||||
|
||||
|
@ -3057,7 +3057,7 @@ MonoBehaviour:
|
||||
- UnityEngine.CanvasRenderer
|
||||
- TMPro.TextMeshProUGUI
|
||||
- UINode
|
||||
values: 00000000
|
||||
values: 00000100
|
||||
depObjs:
|
||||
- {fileID: 6104690864815887471}
|
||||
activeType: 0
|
||||
@ -15176,7 +15176,7 @@ MonoBehaviour:
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
@ -16764,10 +16764,10 @@ RectTransform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2324144477772799280}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -60, y: -13}
|
||||
m_SizeDelta: {x: 830, y: 97}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &608316353303357202
|
||||
CanvasRenderer:
|
||||
@ -23234,7 +23234,7 @@ MonoBehaviour:
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
m_PreferredWidth: 890
|
||||
m_PreferredHeight: 120
|
||||
m_FlexibleWidth: 1
|
||||
m_FlexibleHeight: -1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -592,7 +592,8 @@ local UIEventNames = {
|
||||
EID_FRUIT_SETTLE = id(),
|
||||
|
||||
EID_DANMU_INPUT_NTF = id(),
|
||||
EID_CHAT_STORY_REWARD = id()
|
||||
EID_CHAT_STORY_REWARD = id(),
|
||||
EID_CHAT_STORY_ADD_HEART_NTF = id()
|
||||
}
|
||||
|
||||
return UIEventNames
|
||||
@ -46,6 +46,10 @@ function StoryData:GetStoryNpcDatas()
|
||||
return self.data.storyNpcDatas
|
||||
end
|
||||
|
||||
function StoryData:GetStoryNpcHeart(storyNpcId)
|
||||
return self.data.storyNpcDatas[storyNpcId] or 0
|
||||
end
|
||||
|
||||
function StoryData:CheckDataConditions(data)
|
||||
local conditionResult = true
|
||||
for k,v in pairs(data) do
|
||||
@ -83,7 +87,12 @@ function StoryData:RegisterNetEvents()
|
||||
end)
|
||||
ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_ROLE_STORY_NPC_ACK, function(data)
|
||||
if data.error == Enum.NetErrorCode.ERROR_OK then
|
||||
local storyNpcId = data.story_npc_id.key
|
||||
local preHeart = self.data.storyNpcDatas[storyNpcId] or 0
|
||||
local heart = data.story_npc_id.value
|
||||
local addHeart = heart - preHeart
|
||||
self:RefreshStoryNpcData(data.story_npc_id)
|
||||
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_CHAT_STORY_ADD_HEART_NTF, storyNpcId, heart, addHeart)
|
||||
end
|
||||
end)
|
||||
ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_NEW_MAP_CARTOON_ACK, function(data)
|
||||
@ -205,11 +214,13 @@ function StoryData:RecordGetReward(storyId, rewardId)
|
||||
end
|
||||
|
||||
function StoryData:_Record(storyId, val)
|
||||
LogError(debug.traceback("调用栈信息:"))
|
||||
LogError("[_Record] storyId="..storyId.." val="..val)
|
||||
self.data.storyDatas[storyId] = val
|
||||
ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_ROLE_STORY_REQ, {story_id = {key = storyId, value = val or 0}})
|
||||
end
|
||||
|
||||
function StoryData:AddHeart(storyId)
|
||||
ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_ROLE_STORY_NPC_REQ, {story_npc_id = {key = storyId, value = 0}})
|
||||
end
|
||||
|
||||
return StoryData
|
||||
return StoryData
|
||||
|
||||
@ -228,14 +228,15 @@ function UIChatCtr:SendStoryChat(storyId, performStoryCfgId)
|
||||
else
|
||||
-- 剧情全部结束了
|
||||
LogError("剧情全部结束了 storyId="..storyId)
|
||||
self:OnStoryChatFinish()
|
||||
self:OnStoryChatFinish(storyId)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function UIChatCtr:OnStoryChatFinish()
|
||||
function UIChatCtr:OnStoryChatFinish(lastStoryId)
|
||||
ManagerContainer.DataMgr.StoryData:RecordStoryPlay(self.currStartStoryId)
|
||||
ManagerContainer.DataMgr.StoryData:AddHeart(lastStoryId)
|
||||
self.storyPlayFinishNtfFunc()
|
||||
-- if self.currStartStoryId then
|
||||
-- ManagerContainer.DataMgr.StoryData:Record(self.currStartStoryId, 1)
|
||||
@ -418,14 +419,17 @@ function UIChatCtr:AddStoryChatDatas(storyPerformCfg)
|
||||
message = {
|
||||
message = I18N.T(storyPerformCfg.SpeakId),
|
||||
sendTime64 = "1742893748043",
|
||||
subType = self:CheckChatSubType(I18N.T(storyPerformCfg.SpeakId)),
|
||||
subType = self:CheckChatSubType(I18N.T(storyPerformCfg.SpeakId), storyPerformCfg.LeftName),
|
||||
used = false
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
function UIChatCtr:CheckChatSubType(contentStr)
|
||||
function UIChatCtr:CheckChatSubType(contentStr, nickname)
|
||||
if nickname == "system" then
|
||||
return Enum.ChatSubType.Notify
|
||||
end
|
||||
local patterns = {
|
||||
[Enum.ChatSubType.Gift] = "%[gift%-%d+%]",
|
||||
[Enum.ChatSubType.Date] = "%[date%-%d+%]",
|
||||
|
||||
@ -63,6 +63,11 @@ function UIChatView:AddEventListener()
|
||||
table.insert(rewards,{cfgId = v.key, num = v.value})
|
||||
end
|
||||
ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPOPGot, {rewards = rewards})
|
||||
self:RefreshChatLayer2(CONST_CHANNEL_STORY, self.currStoryData)
|
||||
end)
|
||||
ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.EID_CHAT_STORY_ADD_HEART_NTF, function(storyNpcId, heart, addHeart)
|
||||
LogError("[EID_CHAT_STORY_ADD_HEART_NTF] storyNpcId="..storyNpcId.." heart="..heart.." addHeart="..addHeart)
|
||||
self:PlayAddHeartAnimation(storyNpcId, heart, addHeart)
|
||||
end)
|
||||
end
|
||||
|
||||
@ -1022,7 +1027,7 @@ function UIChatView:EnterChatLayer2(channelId, storyData)
|
||||
self.chatLayer2.titleBarReturnBtn.button.interactable = true
|
||||
end
|
||||
local storyRecordDatas = ManagerContainer.DataMgr.StoryData:GetStoryDatas()
|
||||
LogError("storyRecordDatas: "..Inspect(storyRecordDatas))
|
||||
--LogError("storyRecordDatas: "..Inspect(storyRecordDatas))
|
||||
if true or not storyRecordDatas[storyData.StoryId] then
|
||||
self:SetUIStoryMode(true)
|
||||
self.controller:StartStoryChat(storyData.Id, newMessageNtfFunc, chatInputNtfFunc, storyPlayFinishNtfFunc, true)
|
||||
@ -1131,6 +1136,13 @@ function UIChatView:RefreshChatLayer2(channelId, storyData)
|
||||
|
||||
-- story chat
|
||||
elseif channelId == CONST_CHANNEL_STORY then
|
||||
if storyData == nil then return end
|
||||
--[[ storyData:
|
||||
{AddHeart = 2, ForceGuideGroup = 0, HideUi = false, Id = 301, NeedBg = false,
|
||||
NeedSave = false, PlayInterval = 5, ProgramControl = true, Skip = false,
|
||||
StoryId = 301, StoryNpcId = 20001, Transition = false, TransitionType = 3, Type = 1} ]]
|
||||
self:RefreshTitleForStoryNpc(storyData.StoryNpcId)
|
||||
self.currStoryData = storyData
|
||||
self.currChatData.fromData = {
|
||||
["headFrameId"] = 300,
|
||||
["imgId"] = "Heads/head_100001",
|
||||
@ -1185,6 +1197,15 @@ function UIChatView:RefreshChatLayer2(channelId, storyData)
|
||||
self.chatLayer2.loopListView.loopListView:MovePanelToItemIndex(#self.currChatData.chats, 0)
|
||||
end
|
||||
|
||||
function UIChatView:PlayAddHeartAnimation(storyNpcId, heart, addHeart)
|
||||
self:RefreshTitleForStoryNpc(storyNpcId)
|
||||
end
|
||||
|
||||
function UIChatView:RefreshTitleForStoryNpc(storyNpcId)
|
||||
local heart = ManagerContainer.DataMgr.StoryData:GetStoryNpcHeart(storyNpcId)
|
||||
self.chatLayer2.heartNum.text.text = heart
|
||||
end
|
||||
|
||||
-- itemData format:
|
||||
--[[
|
||||
{
|
||||
|
||||
@ -94,6 +94,10 @@
|
||||
---@field public loopListView SuperScrollView.LoopListView
|
||||
---@field public layoutElement UnityEngine.UI.LayoutElement
|
||||
|
||||
---@class UIChat__Generate_chatLayer2_heartNum
|
||||
---@field public gameObject UnityEngine.GameObject
|
||||
---@field public text TMPro.TextMeshProUGUI
|
||||
|
||||
---@class UIChat__Generate_chatLayer2_titleBarText
|
||||
---@field public gameObject UnityEngine.GameObject
|
||||
---@field public text TMPro.TextMeshProUGUI
|
||||
@ -107,7 +111,7 @@
|
||||
---@field public titleBarReturnBtn UIChat__Generate_chatLayer2_titleBarReturnBtn
|
||||
---@field public titleBarText UIChat__Generate_chatLayer2_titleBarText
|
||||
---@field public titleBarHeart UnityEngine.GameObject
|
||||
---@field public heartNum UnityEngine.GameObject
|
||||
---@field public heartNum UIChat__Generate_chatLayer2_heartNum
|
||||
---@field public loopListView UIChat__Generate_chatLayer2_loopListView
|
||||
---@field public AnyBtn UIChat__Generate_chatLayer2_AnyBtn
|
||||
---@field public inputPanel UIChat__Generate_chatLayer2_inputPanel
|
||||
@ -1244,6 +1248,8 @@ function UIChatView:InitGenerate__58(Root, data)
|
||||
tolua.setpeer(tmp, {})
|
||||
end
|
||||
self.chatLayer2.heartNum = tmp
|
||||
|
||||
tmp.text = tmp:GetComponent(Enum.TypeInfo.TextMeshProUGUI)
|
||||
end
|
||||
|
||||
---@private
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user