PGRData/Script/matrix/xconfig/XPhotographConfigs.lua
2024-09-01 22:49:41 +02:00

181 lines
No EOL
4.5 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

XPhotographConfigs = XPhotographConfigs or {}
XPhotographConfigs.PhotographViewState = {
Normal = 1,
Capture = 2,
SDK = 3,
}
XPhotographConfigs.BackGroundState = {
Full = 1,
Low = 2,
}
XPhotographConfigs.BackGroundType = {
PowerSaved = 1, -- 省电模式
Date = 2, -- 昼夜模式
Normal=3, -- 普通类型,无特殊模式
}
XPhotographConfigs.SceneRotationType = {
None = 0, -- 省电模式
YRotation = 1, -- 基于Y轴旋转
}
XPhotographConfigs.PreviewOpenType=
{
SceneSetting=1, --场景切换设置界面里打开
Others=2 --其他地方
}
local TABLE_BACK_GROUND = "Share/PhotoMode/Background.tab"
local TABLE_PHOTOMODE_SHARE_INFO = "Client/PhotoMode/ShareInfo.tab"
-- XTablePhotoModeSdk
local SceneTemplates = {}
local ShareInfo = {}
function XPhotographConfigs.Init()
SceneTemplates = XTableManager.ReadByIntKey(TABLE_BACK_GROUND, XTable.XTableBackground, "Id")
ShareInfo = XTableManager.ReadByIntKey(TABLE_PHOTOMODE_SHARE_INFO, XTable.XTablePhotoModeShareInfo, "Id")
end
function XPhotographConfigs.GetSceneTemplates()
return SceneTemplates
end
function XPhotographConfigs.GetShareInfoByType(platformType)
return ShareInfo[platformType]
end
function XPhotographConfigs.GetSceneTemplateById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id]
end
function XPhotographConfigs.GetBackgroundNameById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Name
end
function XPhotographConfigs.GetBackgroundQualityById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Quality
end
function XPhotographConfigs.GetBackgroundDescriptionById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Description
end
function XPhotographConfigs.GetBackgroundWorldDescriptionById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].WorldDescription
end
function XPhotographConfigs.GetBackgroundIconById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Icon
end
function XPhotographConfigs.GetBackgroundBigIconById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].BigIcon
end
function XPhotographConfigs.GetBackgroundPriorityById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Priority
end
function XPhotographConfigs.GetBackgroundTypeById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Type or nil
end
function XPhotographConfigs.GetBackgroundTagById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].Tag or nil
end
function XPhotographConfigs.GetBackgroundSwitchDescById(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].SwitchDesc or nil
end
function XPhotographConfigs.GetBackgroundSceneRotation(id)
if not SceneTemplates then
return nil
end
return SceneTemplates[id].SceneRotation or nil
end
function XPhotographConfigs.SetLogoOrInfoPos(rectTransform, alignment, delayFrame, offsetX, offsetY, autoLayout)
if not rectTransform or not alignment then
return
end
local anchor = alignment.Anchor
rectTransform.anchorMin = anchor
rectTransform.anchorMax = anchor
rectTransform.pivot = anchor
--ContentSizeFitter获取Size会出现数据异常强制刷新
if delayFrame then
CS.UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform)
end
local x, y = anchor.x >= 0.5 and -offsetX or offsetX, anchor.y >= 0.5 and -offsetY or offsetY
rectTransform.anchoredPosition = CS.UnityEngine.Vector2(x, y)
if autoLayout then
autoLayout.ChildAlignment = anchor.x >= 0.5 and CS.UnityEngine.TextAnchor.UpperRight or CS.UnityEngine.TextAnchor.UpperLeft
end
end
function XPhotographConfigs.GetRankLevelText()
if XPlayer.IsHonorLevelOpen() then
return CS.XTextManager.GetText("HonorLevelShort") .. ":"
else
return CS.XTextManager.GetText("HostelDeviceLevel") .. ":"
end
end
function XPhotographConfigs.CsRecord(btnId, data)
local dict = {}
dict["button"] = btnId
dict["role_level"] = XPlayer.GetLevel()
if data then
for k, v in pairs(data) do
dict[k] = v
end
end
CS.XRecord.Record(dict, "200007", "Photograph")
end