148 lines
No EOL
4.9 KiB
Lua
148 lines
No EOL
4.9 KiB
Lua
local tableInsert = table.insert
|
|
|
|
XFubenActivityPuzzleConfigs = XFubenActivityPuzzleConfigs or {}
|
|
|
|
XFubenActivityPuzzleConfigs.PuzzleState = {
|
|
Incomplete = 0,
|
|
Complete = 1,
|
|
PuzzleCompleteButNotDecryption = 2,
|
|
}
|
|
|
|
XFubenActivityPuzzleConfigs.CompleteRewardState = {
|
|
Unrewarded = 0,
|
|
Rewarded = 1,
|
|
}
|
|
|
|
XFubenActivityPuzzleConfigs.PlayVideoState = {
|
|
UnPlay = 0,
|
|
Played = 1,
|
|
}
|
|
|
|
XFubenActivityPuzzleConfigs.HelpHitFaceState = {
|
|
UnHit = 0,
|
|
Hited = 1,
|
|
}
|
|
|
|
XFubenActivityPuzzleConfigs.PuzzleType = {
|
|
Define = 1,
|
|
Decryption = 2,
|
|
}
|
|
|
|
XFubenActivityPuzzleConfigs.PLAY_VIDEO_STATE_KEY = "DRAG_PUZZLE_PLAY_VIDEO_STATE_KEY"
|
|
XFubenActivityPuzzleConfigs.HELP_HIT_FACE_KEY = "DRAG_PUZZLE_HELP_HIT_FACE_KEY"
|
|
XFubenActivityPuzzleConfigs.PASSWORD_HIT_MESSAGE_COUNT = "PASSWORD_HIT_MESSAGE_COUNT"
|
|
|
|
local DRAG_PUZZLE_ACTIVITY_PATH = "Share/MiniActivity/DragPuzzle/DragPuzzleActivity.tab"
|
|
local DRAG_PUZZLE_ACTIVITY_PUZZLE_PATH = "Share/MiniActivity/DragPuzzle/DragPuzzleActivityPuzzle.tab"
|
|
local DRAG_PUZZLE_ACTIVITY_PIECE_PATH = "Share/MiniActivity/DragPuzzle/DragPuzzleActivityPiece.tab"
|
|
local DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH = "Share/MiniActivity/DragPuzzle/DragPuzzleActivityPassword.tab"
|
|
|
|
local ActivityTemplates = {}
|
|
local PuzzleTemplates = {}
|
|
local PuzzleTemplatesWithAct = {}
|
|
local PieceTemplates = {}
|
|
local PieceTemplatesWithPuzzle = {}
|
|
local PuzzleDecryptionPassword = {}
|
|
|
|
function XFubenActivityPuzzleConfigs.Init()
|
|
ActivityTemplates = XTableManager.ReadByIntKey(DRAG_PUZZLE_ACTIVITY_PATH, XTable.XTableDragPuzzleActivity, "Id")
|
|
|
|
PuzzleTemplates = XTableManager.ReadByIntKey(DRAG_PUZZLE_ACTIVITY_PUZZLE_PATH, XTable.XTableDragPuzzleActivityPuzzle, "Id")
|
|
for _, puzzleInfo in ipairs(PuzzleTemplates) do
|
|
if not PuzzleTemplatesWithAct[puzzleInfo.ActId] then
|
|
PuzzleTemplatesWithAct[puzzleInfo.ActId] = {}
|
|
end
|
|
tableInsert(PuzzleTemplatesWithAct[puzzleInfo.ActId], puzzleInfo)
|
|
end
|
|
|
|
PieceTemplates = XTableManager.ReadByIntKey(DRAG_PUZZLE_ACTIVITY_PIECE_PATH, XTable.XTableDragPuzzleActivityPiece, "Id")
|
|
for _, pieceInfo in ipairs(PieceTemplates) do
|
|
if not PieceTemplatesWithPuzzle[pieceInfo.PuzzleId] then
|
|
PieceTemplatesWithPuzzle[pieceInfo.PuzzleId] = {}
|
|
end
|
|
tableInsert(PieceTemplatesWithPuzzle[pieceInfo.PuzzleId], pieceInfo)
|
|
end
|
|
|
|
local puzzlePasswordTemplates = XTableManager.ReadByIntKey(DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH, XTable.XTableDragPuzzleActivityPassword, "Id")
|
|
PuzzleDecryptionPassword = {}
|
|
for _, puzzlePasswordTemplate in ipairs(puzzlePasswordTemplates) do
|
|
PuzzleDecryptionPassword[puzzlePasswordTemplate.PuzzleId] = puzzlePasswordTemplate
|
|
end
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetActivityTemplates()
|
|
if not ActivityTemplates then
|
|
return nil
|
|
end
|
|
|
|
return ActivityTemplates
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetActivityTemplateById(actId)
|
|
if not ActivityTemplates then
|
|
return nil
|
|
end
|
|
|
|
return ActivityTemplates[actId]
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPuzzleTemplateById(id)
|
|
return PuzzleTemplates[id]
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPuzzleTemplatesByActId(actId)
|
|
if not PuzzleTemplatesWithAct then
|
|
return nil
|
|
end
|
|
|
|
return PuzzleTemplatesWithAct[actId]
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPieceTemplatesByPuzzleId(puzzleId)
|
|
if not PieceTemplatesWithPuzzle then
|
|
return nil
|
|
end
|
|
|
|
return PieceTemplatesWithPuzzle[puzzleId]
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPieceIconById(pieceId)
|
|
return PieceTemplates[pieceId].FragmentUrl
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPieceCorrectIdxById(pieceId)
|
|
return PieceTemplates[pieceId].CorrectIdx
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPuzzlePasswordHintById(puzzleId)
|
|
if not PuzzleDecryptionPassword[puzzleId] then
|
|
XLog.Error("Can Find Password Info By PieceId:" .. puzzleId .. ",Plase Check " ..DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH)
|
|
end
|
|
|
|
return PuzzleDecryptionPassword[puzzleId].PasswordHint
|
|
end
|
|
|
|
function XFubenActivityBossSingleConfigs.GetPuzzlePasswordHintMessage(puzzleId)
|
|
if not PuzzleDecryptionPassword[puzzleId] then
|
|
XLog.Error("Can Find Password Info By PieceId:" .. puzzleId .. ",Plase Check " ..DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH)
|
|
end
|
|
|
|
return PuzzleDecryptionPassword[puzzleId].HintMessage
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPuzzlePasswordLengthById(puzzleId)
|
|
if not PuzzleDecryptionPassword[puzzleId] then
|
|
XLog.Error("Can Find Password Info By PieceId:" .. puzzleId .. ",Plase Check " ..DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH)
|
|
return 0
|
|
end
|
|
|
|
return #PuzzleDecryptionPassword[puzzleId].Password
|
|
end
|
|
|
|
function XFubenActivityPuzzleConfigs.GetPuzzleDecryptionImgUrl(puzzleId)
|
|
if not PuzzleDecryptionPassword[puzzleId] then
|
|
XLog.Error("Can Find Password Info By PieceId:" .. puzzleId .. ",Plase Check " ..DRAG_PUZZLE_ACTIVITY_PASSWORD_PATH)
|
|
end
|
|
|
|
return PuzzleDecryptionPassword[puzzleId].DecryptionImgUrl
|
|
end |