天书秘卷

dev_chengFeng
jiaoyangna 2021-03-22 15:16:29 +08:00
parent 66287434ea
commit a4facd8d13
11 changed files with 124 additions and 74 deletions

View File

@ -1317,9 +1317,9 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 1933.8, y: -1037}
m_AnchoredPosition: {x: 1933.8, y: -1273}
m_SizeDelta: {x: 732, y: 472}
m_Pivot: {x: 0.5, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4256548705947837650
CanvasRenderer:
m_ObjectHideFlags: 0

View File

@ -1886,3 +1886,18 @@ function JingJiShouWeiToEn(_str)
LogGreen("return str:".._str)
return _str
end
-- 忽略字符串头部的空白字符
function ltrim(input)
return (string.gsub(input, "^[ \t\n\r]+", ""))
end
-- 忽略字符串尾部的空白字符
function rtrim(input)
return (string.gsub(input, "[ \t\n\r]+$", ""))
end
-- 忽略字符串首尾的空白字符
function trim(input)
return (string.gsub(input, "^%s*(.-)%s*$", "%1"))
end

View File

@ -86,7 +86,7 @@ GETALLPOKEMONRESPONSE_POKEMONINFO_FIELD = protobuf.FieldDescriptor();
GETALLPOKEMONRESPONSE_TEAMPOKEMONINFOS_FIELD = protobuf.FieldDescriptor();
GETALLPOKEMONRESPONSE_POKEMONGOT_FIELD = protobuf.FieldDescriptor();
GETALLPROPERTYINFORESPONSE = protobuf.Descriptor();
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD = protobuf.FieldDescriptor();
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD = protobuf.FieldDescriptor();
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD = protobuf.FieldDescriptor();
REPLACETEAMPOKEMONINFOREQUEST = protobuf.Descriptor();
REPLACETEAMPOKEMONINFOREQUEST_TEAMPOKEMONINFOS_FIELD = protobuf.FieldDescriptor();
@ -938,19 +938,19 @@ GETALLPOKEMONRESPONSE.enum_types = {}
GETALLPOKEMONRESPONSE.fields = {GETALLPOKEMONRESPONSE_POKEMONINFO_FIELD, GETALLPOKEMONRESPONSE_TEAMPOKEMONINFOS_FIELD, GETALLPOKEMONRESPONSE_POKEMONGOT_FIELD}
GETALLPOKEMONRESPONSE.is_extendable = false
GETALLPOKEMONRESPONSE.extensions = {}
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.name = "allBook"
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.full_name = ".rpc.protocols.GetAllPropertyInfoResponse.allBook"
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.number = 1
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.index = 0
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.label = 3
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.has_default_value = false
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.default_value = {}
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.type = 5
GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD.cpp_type = 1
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.name = "allBookEnabled"
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.full_name = ".rpc.protocols.GetAllPropertyInfoResponse.allBookEnabled"
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.number = 1
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.index = 0
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.label = 3
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.has_default_value = false
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.default_value = {}
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.type = 5
GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD.cpp_type = 1
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.name = "equipGot"
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.full_name = ".rpc.protocols.GetAllPropertyInfoResponse.equipGot"
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.number = 4
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.number = 2
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.index = 1
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.label = 3
GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD.has_default_value = false
@ -962,7 +962,7 @@ GETALLPROPERTYINFORESPONSE.name = "GetAllPropertyInfoResponse"
GETALLPROPERTYINFORESPONSE.full_name = ".rpc.protocols.GetAllPropertyInfoResponse"
GETALLPROPERTYINFORESPONSE.nested_types = {}
GETALLPROPERTYINFORESPONSE.enum_types = {}
GETALLPROPERTYINFORESPONSE.fields = {GETALLPROPERTYINFORESPONSE_ALLBOOK_FIELD, GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD}
GETALLPROPERTYINFORESPONSE.fields = {GETALLPROPERTYINFORESPONSE_ALLBOOKENABLED_FIELD, GETALLPROPERTYINFORESPONSE_EQUIPGOT_FIELD}
GETALLPROPERTYINFORESPONSE.is_extendable = false
GETALLPROPERTYINFORESPONSE.extensions = {}
REPLACETEAMPOKEMONINFOREQUEST_TEAMPOKEMONINFOS_FIELD.name = "teamPokemonInfos"

File diff suppressed because one or more lines are too long

View File

@ -248,14 +248,14 @@ function this.ChatDataAdapter(channel, data)
--- 非公会
--- 判断messageId是否符合要求新数据得第一条messageId必须比旧数据最后一条大
--- mssageId相等表示包含敏感字未发出的消息此消息需要在前端展示但是不会发送给其他人
__DebugLog("++++++++++++++++++++++++++++++"..channel)
--__DebugLog("++++++++++++++++++++++++++++++"..channel)
for i = 1, len do
local newChat = data.chatInfo[i]
local newMsgId = tonumber(newChat.messageId) -- 新消息的消息号
local msgIdFlag = this.GetMsgIdFlag(channel) -- 获取当前最新消息号
__DebugLog("--")
LogGreen("消息内容:"..newChat.msg)
LogGreen("本地最新消息"..msgIdFlag..",新消息的消息号:"..newMsgId)
--__DebugLog("--")
--LogGreen("消息内容:"..newChat.msg)
--LogGreen("本地最新消息"..msgIdFlag..",新消息的消息号:"..newMsgId)
local msgStr = string.split(newChat.msg,"|")
if channel == CHAT_CHANNEL.SYSTEM then
for i = 2, #msgStr do
@ -278,7 +278,7 @@ function this.ChatDataAdapter(channel, data)
tostring(msgStr[6])
)
end
LogGreen("消息内容:"..newChat.msg)
--LogGreen("消息内容:"..newChat.msg)
if msgIdFlag < newMsgId or newMsgId == -1 then
__DebugLog(Language[10362]..tostring(newMsgId == -1))
if newMsgId ~= -1 then -- 消息号为-1表示屏蔽消息保存数据但不保存消息号

View File

@ -83,9 +83,9 @@ function this.InitMsg(msg)
this.serData[id].endTime = endTime
this.serData[id].restTime = restTime
--Log(
-- string.format("--- 功能解锁数据 id = %s, startTime = %s, endTime = %s",
-- id, startTime, endTime))
Log(
string.format("--- 功能解锁数据 id = %s, startTime = %s, endTime = %s",
id, startTime, endTime))
-- 用于标记是否解锁使用
local typeId = AllActSetConfig[id].IsIDdSame

View File

@ -222,8 +222,6 @@ function this.PlayerInfoRequest(func)
QinglongSerectTreasureManager.SetLevel(msg.treasureLevel)
QinglongSerectTreasureManager.SetTreasureBuyStatus(msg.hadBuyTreasure)
PlayerManager.RefreshWorldLeveData(msg.worldLeve)
if func then
func(msg)
end
@ -235,8 +233,21 @@ function this.AllBookEnableResponse(func)
local data = buffer:DataByte()
local msg = HeroInfoProto_pb.GetAllPropertyInfoResponse()
msg:ParseFromString(data)
if msg.allBook then
LogGreen("#msg.allBook:"..#msg.allBook)
for k,v in ipairs(msg.allBook) do
LogGreen("msg.allBook:k"..k.." data:"..v)
end
TianShuMiJuanManger.UpdateFetterId(msg.allBook)
end
if msg.equipGot then
LogGreen("#msg.equipGot:"..#msg.equipGot)
for k,v in ipairs(msg.equipGot) do
LogGreen("msg.equipGotk"..k.." data:"..v)
end
SoulPrintManager.UpdateAllHavedSoulPrint(msg.equipGot)
end
TianShuMiJuanManger.OnLevelChange()
if func then
func(msg)
end
@ -4627,10 +4638,10 @@ function this.XiaoyaoyouTurnTableRequest(func)
end
--请求灵兽激活
function this.PokemonBookEnableRequest(id,func)
local data = HeroInfoProto_pb.PokemonBookEnableRequest()
local data = HeroInfoProto_pb.AllBookEnableRequest()
data.bookId = id
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.POKEMON_BOOK_ENABLE_REQUEST, MessageTypeProto_pb.POKEMON_BOOK_ENABLE_REPONSE, msg, function()
Network:SendMessageWithCallBack(MessageTypeProto_pb.ALL_BOOK_ENABLE_REQUEST , MessageTypeProto_pb.ALL_BOOK_ENABLE_REPONSE , msg, function(buffer)
local data = buffer:DataByte()
local msg = HeroInfoProto_pb.PokemonBookEnableResponse()
msg:ParseFromString(data)

View File

@ -273,6 +273,7 @@ function this.InitHandBookData(heroHandBook,talismanHandBook)
PlayerManager.talismanHandBook[talismanHandBook[i]] = talismanHandBook[i]
end
end
TianShuMiJuanManger.CheckFetterStatus(1)
end
function this.SetHeroHandBookListData(heroSId,heroStar)

View File

@ -1,5 +1,4 @@
--已激活 <color = #fff5df>%s</color>
--未激活 <color = #ffd674>%s</color>

require("Base/BasePanel")
local TianShuMiJuanMainPanel = Inherit(BasePanel)
local this = TianShuMiJuanMainPanel
@ -26,11 +25,8 @@ local data = 1
--初始化组件(用于子类重写)
function TianShuMiJuanMainPanel:InitComponent()
self.itemPreList = {}
self.tabBox = TabBox.New()
self.tabBox:SetTabAdapter(self.SetTabAdapter)
self.tabBox:SetTabIsLockCheck(self.TabIsLockCheck)
self.tabBox:SetChangeTabCallBack(self.SetChangeTabCallBack)
self.tabbox = Util.GetGameObject(self.gameObject,"bg/tabbox")
self.bg = Util.GetGameObject(self.gameObject,"bg/Bg"):GetComponent("Image")
self.selectKuang = Util.GetGameObject(self.gameObject,"bg/select")
self.title = Util.GetGameObject(self.gameObject,"bg/title"):GetComponent("Image")
@ -40,7 +36,7 @@ function TianShuMiJuanMainPanel:InitComponent()
self.fetterItem = Util.GetGameObject(self.gameObject,"fetterItem")
local grid = Util.GetGameObject(self.gameObject,"bg/fetterGrid")
local v21 = grid.transform.rect
self.scroll = SubUIManager.Open(SubUIConfig.ScrollCycleView,grid,self.fetterItem,nil,Vector2.New(v21.width, v21.height), 1, 1, Vector2.New(0,0))
self.scroll = SubUIManager.Open(SubUIConfig.ScrollCycleView,grid.transform,self.fetterItem,nil,Vector2.New(v21.width, v21.height), 1, 1, Vector2.New(0,0))
self.empty = Util.GetGameObject(self.gameObject,"bg/NoneImage")
end
@ -81,6 +77,7 @@ function TianShuMiJuanMainPanel.SetChangeTabCallBack(index)
return
end
curPage = index
this:OnShow(self)
end
--绑定事件(用于子类重写)
@ -91,6 +88,10 @@ function TianShuMiJuanMainPanel:BindEvent()
Util.AddClick(self.shai, function()
end)
self.tabBox = TabBox.New()
self.tabBox:SetTabAdapter(self.SetTabAdapter)
self.tabBox:SetTabIsLockCheck(self.TabIsLockCheck)
self.tabBox:SetChangeTabCallBack(self.SetChangeTabCallBack)
end
--添加事件监听(用于子类重写)
@ -107,7 +108,7 @@ end
function TianShuMiJuanMainPanel:OnOpen(...)
local args = {...}
curPage = args[1] or 1
self.tabBox.Init(self.tabbox.gameObject, tabs, curPage)
self.tabBox:Init(self.tabbox.gameObject, tabs, curPage)
end
-- 打开,重新打开时回调
@ -129,16 +130,16 @@ function TianShuMiJuanMainPanel:OnShow()
end
end
function TianShuMiJuanMainPanel:SetSingleData(go,data,index)
function TianShuMiJuanMainPanel:SetSingleData(go,item,index)
if not self.itemPreList[go] then
self.itemPreList[go] = SubUIManager.Open(SubUIConfig.FetterItem,go)
self.itemPreList[go] = SubUIManager.Open(SubUIConfig.FetterItem,go.transform)
end
if not data then
if not item then
go.gameObject:SetActive(false)
return
end
go.gameObject:SetActive(true)
self.itemPreList[go]:OnOpen(data)
self.itemPreList[go]:SetData(item)
end
--界面关闭时调用(用于子类重写)
@ -154,6 +155,7 @@ function TianShuMiJuanMainPanel:OnDestroy()
for k,v in pairs(self.itemPreList) do
SubUIManager.Close(v)
end
self.itemPreList = {}
redPointList = {}
end
return this

View File

@ -1,5 +1,6 @@
TianShuMiJuanManger = {}
local this = TianShuMiJuanManger
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
--读表
function this.Initialize()
this.fetterData = {}
@ -14,6 +15,11 @@ function this.Initialize()
end
function this.OnLevelChange()
for k,v in pairs(this.fetterData) do
if v.enabled == -2 then
v.enabled = this.CheckOpenFetter(v.openLevel) and -1 or -2
end
end
CheckRedPointStatus(RedPointType.Hero_Fetter)
CheckRedPointStatus(RedPointType.SoulPrint_Fetter)
CheckRedPointStatus(RedPointType.Pokemon_Fetter)
@ -22,16 +28,23 @@ end
function this.CreatSingleConfigData(configData)
local data = {}
data.id = configData.id
data.id = configData.Id
data.name = GetLanguageStrById(configData.Name)
data.teamers = configData.Teamers
data.activePara = configData.ActivePara
data.activeParaTip = ""
data.activeParaTip = "激活属性:"
for i = 1, #data.activePara do
local config = propertyConfig[data.activePara[i][1]]
local value= GetEquipPropertyFormatStr(config.Style,data.activePara[i][2])
data.activeParaTip = data.activeParaTip..config.Info.."+"..value .. " "
end
data.activeParaTip = rtrim(data.activeParaTip)
LogGreen("id:"..data.id.." tip:"..data.activeParaTip)
data.activeForce = configData.ActiveForce
data.fetterType = configData.Type
data.fetterType = configData.FetterType
data.reward = configData.Reward
data.openLevel = configData.OpenLevel
data.enabled = -1
data.enabled = this.CheckOpenFetter(data.openLevel) and -1 or -2 -- -2 未开启 -1 不可激活 0 可激活 1已激活
return data
end
@ -76,7 +89,7 @@ end
function this.CheckRedPoint(fetterType)
for k,v in pairs(this.fetterData) do
if v.fetterType == fetterType and v.enabled == 0 and this.CheckOpenFetter(v.openLevel) then
if v.fetterType == fetterType and v.enabled == 0 then
return true
end
end
@ -99,7 +112,7 @@ end
function this.GetFetterDataByFetterType(fetterType)
local data = {}
for k,v in pairs(this.fetterData) do
if v.fetterType == fetterType and this.CheckOpenFetter(v.openLevel) then
if v.fetterType == fetterType and v.enabled ~= -2 then
table.insert(data,v)
end
end

View File

@ -18,19 +18,19 @@ function FetterItem:InitComponent()
self.rewardNum = Util.GetGameObject(self.reward,"num"):GetComponent("Text")
self.active = Util.GetGameObject(self.gameObject,"active")
self.itemList = {}
self.itemData = {}
end
--绑定事件(用于子类重写)
function FetterItem:BindEvent()
Util.AddClick(self.activeBtn, function()
local oldWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
NetManager.PokemonBookEnableRequest(self.data.id,function(msg)
NetManager.PokemonBookEnableRequest(self.itemData.id,function(msg)
if msg.drop and msg.drop.itemlist and #msg.drop.itemlist > 0 then
local item = msg.drop.itemlist[1]
PopupTipPanel.ShowTip(string.format("激活成功,获得%s%s",item.itemNum,ConfigManager.GetConfigData(ConfigName.ItemConfig,item.itemId).Name))
end
PopupTipPanel.ShowTip(string.format(Language[11446],GetLanguageStrById(config.Name)))
this.UpdateFetterId(self.data.id)
this.UpdateFetterId(self.itemData.id)
local newWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldWarPower,newValue = newWarPower})
self:SetIcon(1)
@ -46,31 +46,37 @@ end
function FetterItem:RemoveListener()
end
function FetterItem:OnOpen(data)
self.data = data
self.name.text = self.data.name
self.tipText = self.data.activeParaTip
if #self.data.reward > 0 then
function FetterItem:OnOpen()
end
function FetterItem:SetData(data)
self.itemData = data
self.name.text = self.itemData.name
if self.itemData.enabled < 1 then
self.tipText.text = string.format("<color = #ffd674>%s</color>",self.itemData.activeParaTip)
elseif self.itemData.enabled then
self.tipText.text = string.format("<color = #fff5df>%s</color>",self.itemData.activeParaTip)
end
self.tipText.text = self.itemData.activeParaTip
if #self.itemData.reward > 0 then
self.reward.gameObject:SetActive(true)
else
self.reward.gameObject:SetActive(false)
end
self.rewardIcon = Util.LoadSprite(itemConfig[self.data.reward[1][1]])
self.rewardNum.text = self.data.reward[1][2]
FetterItem:SetIcon(self.data.enabled)
self.rewardIcon = Util.LoadSprite(GetResourcePath(itemConfig[self.itemData.reward[1][1]].ResourceID))
self.rewardNum.text = self.itemData.reward[1][2]
self:SetIcon(self.itemData.enabled)
if not self.itemList then
self.itemList = {}
end
for i = 1 ,#self.itemList do
self.itemList[i].gameObject:SetActive(false)
end
for i = 1, #self.data.teamers do
for i = 1, #self.itemData.teamers do
if not self.itemList[i] then
self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.grid.transform)
end
self.itemList[i].gameObject:SetActive(true)
self.itemList[i]:OnOpen(true,{self.data.teamers[i],0},1,true,false,false,self.sortingOrder)
self.itemList[i]:OnOpen(false,{self.itemData.teamers[i],0},1,true,false,false,self.sortingOrder)
end
end
@ -83,8 +89,10 @@ function FetterItem:SetIcon(status)
self.active.gameObject:SetActive(false)
if status == 0 then
Util.SetGray(self.activeBtn,false)
self.activeBtn:GetComponent("Button").enabled = true
else
Util.SetGray(self.activeBtn,true)
self.activeBtn:GetComponent("Button").enabled = false
end
end
end