-- -- Author: zhangshuang、wujie -- Note: 图鉴配置相关 XArchiveConfigs = XArchiveConfigs or {} XArchiveConfigs.SubSystemType = { Monster = 1, Weapon = 2, Awareness = 3, Story = 4, CG = 5, NPC = 6, Email = 7, Partner = 8, PV = 9, } XArchiveConfigs.SettingType = { All = 0, Setting = 1, Story = 2, } -- 设定位置 XArchiveConfigs.SettingIndex = { First = 1, } XArchiveConfigs.WeaponCamera = { Main = 1, -- 武器详情默认是主镜头 Setting = 2, } XArchiveConfigs.MonsterType = { Pawn = 1, Elite = 2, Boss = 3, } XArchiveConfigs.MonsterInfoType = { Short = 1, Long = 2, } XArchiveConfigs.MonsterSettingType = { Setting = 1, Story = 2, } XArchiveConfigs.MonsterDetailType = { Synopsis = 1, Info = 2, Setting = 3, Skill = 4, Zoom = 5, ScreenShot = 6, } XArchiveConfigs.EquipStarType = { All = 0, One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, } XArchiveConfigs.EquipLikeType = { NULL = 0, Dis = 1, Like = 2, } XArchiveConfigs.StarToQualityName = { [XArchiveConfigs.EquipStarType.All] = CS.XTextManager.GetText("ArchiveAwarenessFliterAll"), [XArchiveConfigs.EquipStarType.Two] = CS.XTextManager.GetText("ArchiveAwarenessFliterTwoStar"), [XArchiveConfigs.EquipStarType.Three] = CS.XTextManager.GetText("ArchiveAwarenessFliterThreeStar"), [XArchiveConfigs.EquipStarType.Four] = CS.XTextManager.GetText("ArchiveAwarenessFliterFourStar"), [XArchiveConfigs.EquipStarType.Five] = CS.XTextManager.GetText("ArchiveAwarenessFliterFiveStar"), [XArchiveConfigs.EquipStarType.Six] = CS.XTextManager.GetText("ArchiveAwarenessFliterSixStar"), } XArchiveConfigs.EvaluateOnForAll = CS.XGame.ClientConfig:GetInt("ArchiveEvaluateOnForAll") XArchiveConfigs.OnForAllState = { Off = 0, On = 1, } XArchiveConfigs.NpcGridState = { Open = 0, Close = 1, } XArchiveConfigs.EmailType = { Email = 1, Communication = 2, } XArchiveConfigs.PartnerSettingType = { Setting = 1, Story = 2, } XArchiveConfigs.MonsterDetailUiType = { Default = 1, -- 默认图鉴打开 Show = 2, -- 只负责显示,屏蔽玩家操作 } XArchiveConfigs.SpecialData = { --特判数据(仅武器天狼星使用) PayRewardId = 5, Equip = {--天狼星 ResonanceCount = 0, Level = 1, Breakthrough = 0, Id = 2026003, }, } local TABLE_TAG = "Share/Archive/Tag.tab" local TABLE_ARCHIVE = "Share/Archive/Archive.tab" local TABLE_MONSTER = "Share/Archive/Monster.tab" local TABLE_MONSTERINFO = "Share/Archive/MonsterInfo.tab" local TABLE_MONSTERSKILL = "Share/Archive/MonsterSkill.tab" local TABLE_MONSTERSETTING = "Share/Archive/MonsterSetting.tab" local TABLE_SAMENPCGROUP = "Share/Archive/SameNpcGroup.tab" local TABLE_MONSTERNPCDATA = "Client/Archive/MonsterNpcData.tab" local TABLE_AWARENESSSETTING = "Share/Archive/AwarenessSetting.tab" local TABLE_WEAPONSETTING = "Share/Archive/WeaponSetting.tab" local TABLE_MONSTERMODEL_TRANS = "Client/Archive/MonsterModelTrans.tab" local TABLE_MONSTER_EFFECT = "Client/Archive/MonsterEffect.tab" local TABLE_STORYGROUP = "Share/Archive/StoryGroup.tab" local TABLE_STORYCHAPTER = "Share/Archive/StoryChapter.tab" local TABLE_STORYDETAIL = "Share/Archive/StoryDetail.tab" local TABLE_STORYNPC = "Share/Archive/StoryNpc.tab" local TABLE_STORYNPCSETTING = "Share/Archive/StoryNpcSetting.tab" local TABLE_CGDETAIL = "Share/Archive/CGDetail.tab" local TABLE_CGGROUP = "Share/Archive/CGGroup.tab" local TABLE_ARCHIVEMAIL = "Share/Archive/ArchiveMail.tab" local TABLE_COMMUNICATION = "Share/Archive/Communication.tab" local TABLE_EVENTDATEGROUP = "Share/Archive/EventDateGroup.tab" local TABLE_ARCHIVE_WEAPON_GROUP_PATH = "Client/Archive/ArchiveWeaponGroup.tab" local TABLE_ARCHIVE_AWARENESS_GROUP_PATH = "Client/Archive/ArchiveAwarenessGroup.tab" local TABLE_ARCHIVE_AWARENESS_GROUPTYPE_PATH = "Client/Archive/ArchiveAwarenessGroupType.tab" local TABLE_ARCHIVE_PARTNER_SETTING = "Share/Archive/PartnerSetting.tab" local TABLE_ARCHIVE_PARTNER = "Client/Archive/ArchivePartner.tab" local TABLE_ARCHIVE_PARTNER_GROUP = "Client/Archive/ArchivePartnerGroup.tab" local TABLE_PVDETAIL = "Share/Archive/PVDetail.tab" local TABLE_PVGROUP = "Client/Archive/PVGroup.tab" local TABLE_BIRTHDAYPLOT = "Share/BirthdayPlot/BirthdayPlot.tab" local tableSort = table.sort local Tags = {} local Archives = {} local Monsters = {} local MonsterInfos = {} local MonsterSkills = {} local MonsterSettings = {} local AwarenessSettings = {} local WeaponSettings = {} local SameNpcGroups = {} local MonsterNpcDatas = {} local MonsterModelTrans = {} local MonsterEffects = {} local StoryGroups = {} local StoryChapters = {} local StoryDetails = {} local StoryNpc = {} local StoryNpcSetting = {} local CGGroups = {} local CGDetails = {} local ArchiveMails = {} local ArchiveCommunications = {} local EventDateGroups = {} local WeaponGroup = {} local WeaponTemplateIdToSettingListDic = {} local ShowedWeaponTypeList = {} local WeaponTypeToIdsDic = {} local WeaponSumCollectNum = 0 local AwarenessGroup = {} local AwarenessGroupType = {} local AwarenessShowedStatusDic = {} local AwarenessSumCollectNum = 0 local AwarenessTypeToGroupDatasDic = {} local AwarenessSuitIdToSettingListDic = {} local ArchiveTagAllList = {} local ArchiveStoryGroupAllList = {} local ArchiveSameNpc = {} local ArchiveMonsterTransDic = {} local ArchiveMonsterEffectDatasDic = {} local ArchivePartnerSettings = {} local ArchivePartners = {} local ArchivePartnerGroups = {} local PVGroups = {} local PVDetails = {} local BirthdayPlot = {} function XArchiveConfigs.Init() Tags = XTableManager.ReadByIntKey(TABLE_TAG, XTable.XTableArchiveTag, "Id") Archives = XTableManager.ReadByIntKey(TABLE_ARCHIVE, XTable.XTableArchive, "Id") Monsters = XTableManager.ReadAllByIntKey(TABLE_MONSTER, XTable.XTableArchiveMonster, "Id") MonsterInfos = XTableManager.ReadAllByIntKey(TABLE_MONSTERINFO, XTable.XTableArchiveMonsterInfo, "Id") MonsterSkills = XTableManager.ReadAllByIntKey(TABLE_MONSTERSKILL, XTable.XTableArchiveMonsterSkill, "Id") MonsterSettings = XTableManager.ReadAllByIntKey(TABLE_MONSTERSETTING, XTable.XTableMonsterSetting, "Id") SameNpcGroups = XTableManager.ReadByIntKey(TABLE_SAMENPCGROUP, XTable.XTableSameNpcGroup, "Id") MonsterNpcDatas = XTableManager.ReadByIntKey(TABLE_MONSTERNPCDATA, XTable.XTableMonsterNpcData, "Id") MonsterModelTrans = XTableManager.ReadByIntKey(TABLE_MONSTERMODEL_TRANS, XTable.XTableMonsterModelTrans, "Id") MonsterEffects = XTableManager.ReadByIntKey(TABLE_MONSTER_EFFECT, XTable.XTableMonsterEffect, "Id") StoryGroups = XTableManager.ReadByIntKey(TABLE_STORYGROUP, XTable.XTableArchiveStoryGroup, "Id") StoryChapters = XTableManager.ReadByIntKey(TABLE_STORYCHAPTER, XTable.XTableArchiveStoryChapter, "Id") StoryDetails = XTableManager.ReadByIntKey(TABLE_STORYDETAIL, XTable.XTableArchiveStoryDetail, "Id") StoryNpc = XTableManager.ReadByIntKey(TABLE_STORYNPC, XTable.XTableArchiveStoryNpc, "Id") StoryNpcSetting = XTableManager.ReadByIntKey(TABLE_STORYNPCSETTING, XTable.XTableArchiveStoryNpcSetting, "Id") CGGroups = XTableManager.ReadByIntKey(TABLE_CGGROUP, XTable.XTableArchiveCGGroup, "Id") CGDetails = XTableManager.ReadByIntKey(TABLE_CGDETAIL, XTable.XTableArchiveCGDetail, "Id") ArchiveMails = XTableManager.ReadByIntKey(TABLE_ARCHIVEMAIL, XTable.XTableArchiveMail, "Id") ArchiveCommunications = XTableManager.ReadByIntKey(TABLE_COMMUNICATION, XTable.XTableArchiveCommunication, "Id") EventDateGroups = XTableManager.ReadByIntKey(TABLE_EVENTDATEGROUP, XTable.XTableArchiveEventDateGroup, "Id") WeaponGroup = XTableManager.ReadByIntKey(TABLE_ARCHIVE_WEAPON_GROUP_PATH, XTable.XTableArchiveWeaponGroup, "Id") WeaponSettings = XTableManager.ReadByIntKey(TABLE_WEAPONSETTING, XTable.XTableWeaponSetting, "Id") AwarenessGroup = XTableManager.ReadByIntKey(TABLE_ARCHIVE_AWARENESS_GROUP_PATH, XTable.XTableArchiveAwarenessGroup, "Id") AwarenessGroupType = XTableManager.ReadByIntKey(TABLE_ARCHIVE_AWARENESS_GROUPTYPE_PATH, XTable.XTableArchiveAwarenessGroupType, "GroupId") AwarenessSettings = XTableManager.ReadByIntKey(TABLE_AWARENESSSETTING, XTable.XTableAwarenessSetting, "Id") ArchivePartnerSettings = XTableManager.ReadByIntKey(TABLE_ARCHIVE_PARTNER_SETTING, XTable.XTablePartnerSetting, "Id") ArchivePartners = XTableManager.ReadByIntKey(TABLE_ARCHIVE_PARTNER, XTable.XTableArchivePartner, "Id") ArchivePartnerGroups = XTableManager.ReadByIntKey(TABLE_ARCHIVE_PARTNER_GROUP, XTable.XTableArchivePartnerGroup, "Id") PVGroups = XTableManager.ReadByIntKey(TABLE_PVGROUP, XTable.XTableArchivePVGroup, "Id") PVDetails = XTableManager.ReadByIntKey(TABLE_PVDETAIL, XTable.XTableArchivePVDetail, "Id") BirthdayPlot = XTableManager.ReadByIntKey(TABLE_BIRTHDAYPLOT, XTable.XTableBirthdayPlot, "Id") XArchiveConfigs.SetArchiveTagAllList() XArchiveConfigs.SetArchiveSameNpc() XArchiveConfigs.SetArchiveMonsterModelTransDic() XArchiveConfigs.SetArchiveMonsterEffectsDic() XArchiveConfigs.CreateShowedWeaponTypeList() XArchiveConfigs.CreateWeaponTemplateIdToSettingDataListDic() XArchiveConfigs.SetWeaponSumCollectNum() XArchiveConfigs.CreateWeaponTypeToIdsDic() XArchiveConfigs.CreateAwarenessShowedStatusDic() XArchiveConfigs.SetAwarenessSumCollectNum() XArchiveConfigs.CreateAwarenessTypeToGroupDatasDic() XArchiveConfigs.CreateAwarenessSiteToBgPathDic() XArchiveConfigs.CreateAwarenessSuitIdToSettingDataListDic() XArchiveConfigs.SetArchiveStoryGroupAllList() end function XArchiveConfigs.GetArchiveConfigById(Id) return Archives[Id] end function XArchiveConfigs.GetArchiveConfigs() return Archives end function XArchiveConfigs.GetArchiveMonsterConfigs() return Monsters end function XArchiveConfigs.GetArchiveMonsterConfigById(id) return Monsters[id] end function XArchiveConfigs.GetArchiveMonsterInfoConfigs() return MonsterInfos end function XArchiveConfigs.GetArchiveMonsterInfoConfigById(id) return MonsterInfos[id] end function XArchiveConfigs.GetArchiveMonsterSkillConfigs() return MonsterSkills end function XArchiveConfigs.GetArchiveMonsterSkillConfigById(id) return MonsterSkills[id] end function XArchiveConfigs.GetArchiveMonsterSettingConfigs() return MonsterSettings end function XArchiveConfigs.GetArchiveMonsterSettingConfigById(id) return MonsterSettings[id] end function XArchiveConfigs.GetArchiveTagCfgById(id) return Tags[id] end function XArchiveConfigs.GetArchiveTagAllList() return ArchiveTagAllList end function XArchiveConfigs.GetSameNpcId(npcId) return ArchiveSameNpc[npcId] and ArchiveSameNpc[npcId] or npcId end function XArchiveConfigs.GetMonsterTransDataGroup(npcId) return ArchiveMonsterTransDic[npcId] end function XArchiveConfigs.GetMonsterTransDatas(npcId, npcState) local archiveMonsterTransData = ArchiveMonsterTransDic[npcId] return archiveMonsterTransData and archiveMonsterTransData[npcState] end function XArchiveConfigs.GetMonsterEffectDatas(npcId, npcState) local archiveMonsterEffectData = ArchiveMonsterEffectDatasDic[npcId] return archiveMonsterEffectData and archiveMonsterEffectData[npcState] end ------------------------------------------------------------- function XArchiveConfigs.GetAwarenessSettingById(Id) return AwarenessSettings[Id] end function XArchiveConfigs.GetAwarenessSettings() return AwarenessSettings end function XArchiveConfigs.GetAwarenessGroupTypes() local list = {} for _, type in pairs(AwarenessGroupType) do table.insert(list, type) end return XArchiveConfigs.SortByOrder(list) end function XArchiveConfigs.GetWeaponSettingById(Id) return WeaponSettings[Id] end function XArchiveConfigs.GetWeaponSettings() return WeaponSettings end function XArchiveConfigs.GetMonsterNpcDataById(Id) if not MonsterNpcDatas[Id] then XLog.ErrorTableDataNotFound("XArchiveConfigs.GetMonsterNpcDataById", "配置表项", TABLE_MONSTERNPCDATA, "Id", tostring(Id)) end return MonsterNpcDatas[Id] or {} end -----------------------------怪物图鉴---------------------------- function XArchiveConfigs.SetArchiveTagAllList() ArchiveTagAllList = {} for _, tag in pairs(Tags or {}) do for _, groupId in pairs(tag.TagGroupId) do if not ArchiveTagAllList[groupId] then ArchiveTagAllList[groupId] = {} end if tag.IsNotShow == 0 then table.insert(ArchiveTagAllList[groupId], tag) end end end for _, v in pairs(ArchiveTagAllList) do XArchiveConfigs.SortByOrder(v) end end function XArchiveConfigs.SetArchiveSameNpc() for _, group in pairs(SameNpcGroups or {}) do for _, npcId in pairs(group.NpcId) do ArchiveSameNpc[npcId] = group.Id end end end function XArchiveConfigs.SetArchiveMonsterModelTransDic() for _, transData in pairs(MonsterModelTrans or {}) do local archiveMonsterTransData = ArchiveMonsterTransDic[transData.NpcId] if not archiveMonsterTransData then archiveMonsterTransData = {} ArchiveMonsterTransDic[transData.NpcId] = archiveMonsterTransData end archiveMonsterTransData[transData.NpcState] = transData end end function XArchiveConfigs.SetArchiveMonsterEffectsDic() for _, transData in pairs(MonsterEffects or {}) do local archiveMonsterEffectData = ArchiveMonsterEffectDatasDic[transData.NpcId] if not archiveMonsterEffectData then archiveMonsterEffectData = {} ArchiveMonsterEffectDatasDic[transData.NpcId] = archiveMonsterEffectData end local archiveMonsterEffect = archiveMonsterEffectData[transData.NpcState] if not archiveMonsterEffect then archiveMonsterEffect = {} archiveMonsterEffectData[transData.NpcState] = archiveMonsterEffect end archiveMonsterEffect[transData.EffectNodeName] = transData.EffectPath end end function XArchiveConfigs.SortByOrder(list) tableSort(list, function(a, b) if a.Order then if a.Order == b.Order then return a.Id > b.Id else return a.Order < b.Order end else if a:GetOrder() == b:GetOrder() then return a:GetId() > b:GetId() else return a:GetOrder() < b:GetOrder() end end end) return list end function XArchiveConfigs.GetMonsterRealName(id) local name = XArchiveConfigs.GetMonsterNpcDataById(id).Name if not name then XLog.ErrorTableDataNotFound("XArchiveConfigs.GetMonsterRealName", "配置表项中的Name字段", TABLE_MONSTERNPCDATA, "id", tostring(id)) return "" end return name end function XArchiveConfigs.GetMonsterModel(id) return XArchiveConfigs.GetMonsterNpcDataById(id).ModelId end function XArchiveConfigs.GetCountUnitChange(count) local newCount = count if count >= 1000 then newCount = count / 1000 else return newCount end local a, b = math.modf(newCount) return b >= 0.05 and string.format("%.1fk", newCount) or string.format("%dk", a) end -- 武器、意识相关------------->>> function XArchiveConfigs.CreateShowedWeaponTypeList() for _, group in pairs(WeaponGroup) do table.insert(ShowedWeaponTypeList, group.Id) end table.sort(ShowedWeaponTypeList, function(aType, bType) local aData = XArchiveConfigs.GetWeaponGroupByType(aType) local bData = XArchiveConfigs.GetWeaponGroupByType(bType) return aData.Order < bData.Order end) end function XArchiveConfigs.CreateWeaponTemplateIdToSettingDataListDic() local equipId for _, settingData in pairs(WeaponSettings) do equipId = settingData.EquipId WeaponTemplateIdToSettingListDic[equipId] = WeaponTemplateIdToSettingListDic[equipId] or {} table.insert(WeaponTemplateIdToSettingListDic[equipId], settingData) end end function XArchiveConfigs.SetWeaponSumCollectNum() for _, _ in pairs(WeaponTemplateIdToSettingListDic) do WeaponSumCollectNum = WeaponSumCollectNum + 1 end end function XArchiveConfigs.CreateWeaponTypeToIdsDic() for type, _ in pairs(WeaponGroup) do WeaponTypeToIdsDic[type] = {} end local templateData local equipType for templateId, _ in pairs(WeaponTemplateIdToSettingListDic) do templateData = XEquipConfig.GetEquipCfg(templateId) equipType = templateData.Type if WeaponTypeToIdsDic[equipType] then table.insert(WeaponTypeToIdsDic[equipType], templateId) end end end function XArchiveConfigs.CreateAwarenessShowedStatusDic() local templateIdList for suitId, _ in pairs(AwarenessGroup) do templateIdList = XEquipConfig.GetEquipTemplateIdsBySuitId(suitId) for _, templateId in ipairs(templateIdList) do AwarenessShowedStatusDic[templateId] = true end end end function XArchiveConfigs.SetAwarenessSumCollectNum() for _, _ in pairs(AwarenessShowedStatusDic) do AwarenessSumCollectNum = AwarenessSumCollectNum + 1 end end function XArchiveConfigs.CreateAwarenessTypeToGroupDatasDic() for _, type in pairs(AwarenessGroupType) do AwarenessTypeToGroupDatasDic[type.GroupId] = {} end local groupType for _, groupData in pairs(AwarenessGroup) do groupType = groupData.Type if AwarenessTypeToGroupDatasDic[groupType] then table.insert(AwarenessTypeToGroupDatasDic[groupType], groupData) end end end function XArchiveConfigs.CreateAwarenessSiteToBgPathDic() XArchiveConfigs.SiteToBgPath = { [XEquipConfig.EquipSite.Awareness.One] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath1"), [XEquipConfig.EquipSite.Awareness.Two] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath2"), [XEquipConfig.EquipSite.Awareness.Three] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath3"), [XEquipConfig.EquipSite.Awareness.Four] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath4"), [XEquipConfig.EquipSite.Awareness.Five] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath5"), [XEquipConfig.EquipSite.Awareness.Six] = CS.XGame.ClientConfig:GetString("ArchiveAwarenessSiteBgPath6"), } end function XArchiveConfigs.CreateAwarenessSuitIdToSettingDataListDic() local suitId for _, settingData in pairs(AwarenessSettings) do suitId = settingData.SuitId AwarenessSuitIdToSettingListDic[suitId] = AwarenessSuitIdToSettingListDic[suitId] or {} table.insert(AwarenessSuitIdToSettingListDic[suitId], settingData) end end function XArchiveConfigs.GetWeaponSumCollectNum() return WeaponSumCollectNum end function XArchiveConfigs.GetWeaponGroup() return WeaponGroup end function XArchiveConfigs.GetWeaponGroupByType(type) return WeaponGroup[type] end function XArchiveConfigs.GetWeaponGroupName(type) return WeaponGroup[type].GroupName end function XArchiveConfigs.GetShowedWeaponTypeList() return ShowedWeaponTypeList end function XArchiveConfigs.GetWeaponTypeToIdsDic() return WeaponTypeToIdsDic end function XArchiveConfigs.GetWeaponTemplateIdListByType(type) return WeaponTypeToIdsDic[type] end function XArchiveConfigs.GetAwarenessSumCollectNum() return AwarenessSumCollectNum end function XArchiveConfigs.GetAwarenessGroup() return AwarenessGroup end function XArchiveConfigs.GetAwarenessTypeToGroupDatasDic() return AwarenessTypeToGroupDatasDic end function XArchiveConfigs.GetAwarenessShowedStatusDic() return AwarenessShowedStatusDic end function XArchiveConfigs.GetAwarenessSuitInfoTemplate(suitId) return AwarenessGroup[suitId] end function XArchiveConfigs.GetAwarenessSuitInfoGetType(suitId) return AwarenessGroup[suitId].Type end function XArchiveConfigs.GetAwarenessSuitInfoIconPath(suitId) return AwarenessGroup[suitId].IconPath end function XArchiveConfigs.GetWeaponTemplateIdToSettingListDic() return WeaponTemplateIdToSettingListDic end -- 武器设定或故事 function XArchiveConfigs.GetWeaponSettingList(id, settingType) local list = {} local settingDataList = WeaponTemplateIdToSettingListDic[id] if settingDataList then if not settingType or settingType == XArchiveConfigs.SettingType.All then list = settingDataList else for _, settingData in pairs(settingDataList) do if settingData.Type == settingType then table.insert(list, settingData) end end end end return XArchiveConfigs.SortByOrder(list) end function XArchiveConfigs.GetWeaponSettingType(id) return WeaponSettings[id].Type end function XArchiveConfigs.GetWeaponTemplateIdBySettingId(id) return WeaponSettings[id].EquipId end -- 意识设定或故事 function XArchiveConfigs.GetAwarenessSettingList(id, settingType) local list = {} local settingDataList = AwarenessSuitIdToSettingListDic[id] if settingDataList then if not settingType or settingType == XArchiveConfigs.SettingType.All then list = settingDataList else for _, settingData in pairs(settingDataList) do if settingData.Type == settingType then table.insert(list, settingData) end end end else XLog.ErrorTableDataNotFound("XArchiveConfigs.GetAwarenessSettingList", "配置表项", TABLE_AWARENESSSETTING, "id", tostring(id)) end return XArchiveConfigs.SortByOrder(list) end function XArchiveConfigs.GetAwarenessSettingType(id) return AwarenessSettings[id].Type end function XArchiveConfigs.GetAwarenessSuitIdBySettingId(id) return AwarenessSettings[id].SuitId end -- 武器、意识相关-------------<<< -- 剧情相关------------->>> function XArchiveConfigs.GetArchiveStoryGroupAllList() return ArchiveStoryGroupAllList end function XArchiveConfigs.GetArchiveStoryChapterConfigs() return StoryChapters end function XArchiveConfigs.GetArchiveStoryChapterConfigById(id) return StoryChapters[id] end function XArchiveConfigs.GetArchiveStoryDetailConfigs() return StoryDetails end function XArchiveConfigs.GetArchiveStoryDetailConfigById(id) return StoryDetails[id] end function XArchiveConfigs.SetArchiveStoryGroupAllList() for _, group in pairs(StoryGroups or {}) do table.insert(ArchiveStoryGroupAllList, group) end XArchiveConfigs.SortByOrder(ArchiveStoryGroupAllList) end -- 剧情相关-------------<<< -- NPC相关------------->>> function XArchiveConfigs.GetArchiveStoryNpcConfigs() return StoryNpc end function XArchiveConfigs.GetArchiveStoryNpcConfigById(id) return StoryNpc[id] end function XArchiveConfigs.GetArchiveStoryNpcSettingConfigs() return StoryNpcSetting end function XArchiveConfigs.GetArchiveStoryNpcSettingConfigById(id) return StoryNpcSetting[id] end -- NPC相关-------------<<< -- CG相关------------->>> function XArchiveConfigs.GetArchiveCGGroupConfigs() return CGGroups end function XArchiveConfigs.GetArchiveCGDetailConfigs() return CGDetails end function XArchiveConfigs.GetArchiveCGDetailConfigById(id) return CGDetails[id] end -- CG相关-------------<<< -- 邮件通讯相关------------->>> function XArchiveConfigs.GetArchiveMailsConfigs() return ArchiveMails end function XArchiveConfigs.GetArchiveMailsConfigById(id) return ArchiveMails[id] end function XArchiveConfigs.GetArchiveCommunicationsConfigs() return ArchiveCommunications end function XArchiveConfigs.GetArchiveCommunicationsConfigById(id) return ArchiveCommunications[id] end function XArchiveConfigs.GetEventDateGroupsConfigs() return EventDateGroups end -- 邮件通讯相关-------------<<< -- 伙伴相关------------->>> function XArchiveConfigs.GetPartnerSettingConfigs() return ArchivePartnerSettings end function XArchiveConfigs.GetPartnerSettingConfigById(id) if not ArchivePartnerSettings[id] then XLog.Error("Id is not exist in " .. TABLE_ARCHIVE_PARTNER_SETTING .. " id = " .. id) return end return ArchivePartnerSettings[id] end function XArchiveConfigs.GetPartnerConfigs() return ArchivePartners end function XArchiveConfigs.GetPartnerConfigById(id) if not ArchivePartners[id] then XLog.Error("Id is not exist in " .. TABLE_ARCHIVE_PARTNER .. " id = " .. id) return end return ArchivePartners[id] end function XArchiveConfigs.GetPartnerGroupConfigs() return ArchivePartnerGroups end function XArchiveConfigs.GetPartnerGroupConfigById(id) if not ArchivePartnerGroups[id] then XLog.Error("Id is not exist in " .. TABLE_ARCHIVE_PARTNER_GROUP .. " id = " .. id) return end return ArchivePartnerGroups[id] end function XArchiveConfigs.GetBirthdayPlotConfigById(id) if not BirthdayPlot[id] then XLog.Error("Id is not exist in " .. TABLE_BIRTHDAYPLOT .. " id = " .. id) return end return BirthdayPlot[id] end -- 伙伴相关-------------<<< function XArchiveConfigs.GetWeaponSettingPath() return TABLE_WEAPONSETTING end -- PV相关------------->>> function XArchiveConfigs.GetPVGroups() local list = {} for _, group in pairs(PVGroups) do table.insert(list, group) end return XArchiveConfigs.SortByOrder(list) end local IsInitPVDetail = false local PVGroupIdToDetailIdList = {} local PVDetailIdList = {} local InitPVDetail = function() if IsInitPVDetail then return end for id, v in pairs(PVDetails) do if not PVGroupIdToDetailIdList[v.GroupId] then PVGroupIdToDetailIdList[v.GroupId] = {} end table.insert(PVGroupIdToDetailIdList[v.GroupId], id) table.insert(PVDetailIdList, id) end for _, idList in pairs(PVGroupIdToDetailIdList) do tableSort(idList, function(a, b) return a < b end) end IsInitPVDetail = true end local GetPVDetailConfig = function(id) if not PVDetails[id] then XLog.Error("Id is not exist in " .. TABLE_PVDETAIL .. " id = " .. id) return end return PVDetails[id] end function XArchiveConfigs.GetPVDetailIdList(groupId) InitPVDetail() return groupId and PVGroupIdToDetailIdList[groupId] or PVDetailIdList end function XArchiveConfigs.GetPVDetailName(id) local config = GetPVDetailConfig(id) return config.Name end function XArchiveConfigs.GetPVDetailBg(id) local config = GetPVDetailConfig(id) return config.Bg end function XArchiveConfigs.GetPVDetailLockBg(id) local config = GetPVDetailConfig(id) return config.LockBg end function XArchiveConfigs.GetPVDetailUnLockTime(id) local config = GetPVDetailConfig(id) return config.UnLockTime end function XArchiveConfigs.GetPVDetailCondition(id) local config = GetPVDetailConfig(id) return config.Condition end function XArchiveConfigs.GetPVDetailPv(id) local config = GetPVDetailConfig(id) return config.Pv end function XArchiveConfigs.GetPVDetailIsShowRedPoint(id) local config = GetPVDetailConfig(id) return config.IsShowRed end function XArchiveConfigs.GetPVDetailBgWidth(id) local config = GetPVDetailConfig(id) return config.BgWidth end function XArchiveConfigs.GetPVDetailBgHigh(id) local config = GetPVDetailConfig(id) return config.BgHigh end function XArchiveConfigs.GetPVDetailBgOffSetX(id) local config = GetPVDetailConfig(id) return config.BgOffSetX end function XArchiveConfigs.GetPVDetailBgOffSetY(id) local config = GetPVDetailConfig(id) return config.BgOffSetY end -- PV相关-------------<<<