local propertyTable = { ID = 1,PlotName = 2,PlotDesc = 3,BarrierID = 4,PlotType = 5,PlotPic = 6,PlotTimeline = 7,CGName = 8,CGVoice = 9,PrePoint = 10,PostPoint = 11, } local mainPropertyTable = { ID = 1,PageIndex = 2,LineIndex = 3, } local primaryTable = { "ID", } local DataPageEntry = {} local rawget = rawget local base = { __index = function(t, k) local propertyIndex = propertyTable[k] if propertyIndex then local mainPropertyIndex = mainPropertyTable[k] if mainPropertyIndex then return t[mainPropertyIndex] end local pageIndex = t[2] local pageData = DataPageEntry[pageIndex] if pageData == nil then pageData = require('Data/PlotReviewData-page'..pageIndex) if DataSheetUtil then --skip fixedpoint process for data sheet checker DataSheetUtil.ProcessFixedPoint('PlotReviewData', pageData) end DataPageEntry[pageIndex] = pageData end local lineIndex = t[3] local resultData = pageData[lineIndex] return resultData[propertyIndex] end end, __newindex = function() error('Attempt to modify read-only table') end } local dataTable = { setmetatable({30101,1,1},base), setmetatable({30102,1,2},base), setmetatable({30103,1,3},base), setmetatable({30104,1,4},base), setmetatable({10101,1,5},base), setmetatable({10102,1,6},base), setmetatable({10103,1,7},base), setmetatable({10104,1,8},base), setmetatable({10105,1,9},base), setmetatable({10106,1,10},base), setmetatable({10107,1,11},base), setmetatable({10108,1,12},base), setmetatable({10109,1,13},base), setmetatable({10110,1,14},base), setmetatable({10111,1,15},base), setmetatable({10112,1,16},base), setmetatable({10113,1,17},base), setmetatable({10114,1,18},base), setmetatable({10115,1,19},base), setmetatable({10116,1,20},base), setmetatable({10117,1,21},base), setmetatable({10118,1,22},base), setmetatable({10201,1,23},base), setmetatable({10202,1,24},base), setmetatable({10203,1,25},base), setmetatable({10204,1,26},base), setmetatable({10205,1,27},base), setmetatable({10206,1,28},base), setmetatable({10207,1,29},base), setmetatable({10208,1,30},base), setmetatable({10209,1,31},base), setmetatable({10210,1,32},base), setmetatable({10211,1,33},base), setmetatable({10212,1,34},base), setmetatable({10213,1,35},base), setmetatable({10214,1,36},base), setmetatable({10215,1,37},base), setmetatable({10301,1,38},base), setmetatable({10302,1,39},base), setmetatable({10303,1,40},base), setmetatable({10304,1,41},base), setmetatable({10305,1,42},base), setmetatable({10306,1,43},base), setmetatable({10307,1,44},base), setmetatable({10308,1,45},base), setmetatable({10309,1,46},base), setmetatable({10310,1,47},base), setmetatable({10311,1,48},base), setmetatable({10312,1,49},base), setmetatable({10313,1,50},base), setmetatable({10314,1,51},base), setmetatable({10315,1,52},base), setmetatable({10316,1,53},base), setmetatable({10317,1,54},base), setmetatable({10318,1,55},base), setmetatable({10319,1,56},base), setmetatable({10320,1,57},base), setmetatable({10401,1,58},base), setmetatable({10402,1,59},base), setmetatable({10403,1,60},base), setmetatable({10404,1,61},base), setmetatable({10405,1,62},base), setmetatable({10406,1,63},base), setmetatable({10407,1,64},base), setmetatable({10408,1,65},base), setmetatable({10409,1,66},base), setmetatable({10410,1,67},base), setmetatable({10411,1,68},base), setmetatable({10412,1,69},base), setmetatable({10413,1,70},base), setmetatable({10414,1,71},base), setmetatable({10415,1,72},base), setmetatable({10416,1,73},base), setmetatable({10417,1,74},base), setmetatable({10418,1,75},base), setmetatable({10419,1,76},base), setmetatable({10501,1,77},base), setmetatable({10502,1,78},base), setmetatable({10503,1,79},base), setmetatable({10504,1,80},base), setmetatable({10505,1,81},base), setmetatable({10506,1,82},base), setmetatable({10507,1,83},base), setmetatable({10508,1,84},base), setmetatable({10509,1,85},base), setmetatable({10510,1,86},base), setmetatable({10511,1,87},base), setmetatable({10512,1,88},base), setmetatable({10513,1,89},base), setmetatable({10514,1,90},base), } return { dataTable = dataTable, propertyTable = propertyTable, primaryTable = primaryTable, }