export-table-pulgin-csharp 1.1.163 → 1.1.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CSParseTool.d.ts +4 -0
- package/dist/CSParseTool.d.ts.map +1 -1
- package/dist/CSParseTool.js +40 -1
- package/dist/CSProtoParser.d.ts +22 -0
- package/dist/CSProtoParser.d.ts.map +1 -0
- package/dist/CSProtoParser.js +142 -0
- package/dist/ExportCSPlugin.d.ts +2 -1
- package/dist/ExportCSPlugin.d.ts.map +1 -1
- package/dist/ExportCSPlugin.js +51 -35
- package/dist/ExportLiteDBCSPlugin.js +1 -25
- package/dist/ExportLiteDBUnityCSJsonPlugin.js +3 -3
- package/dist/ExportUnityCSJsonPlugin.js +3 -27
- package/dist/ExportUnityMMPPlugin.js +1 -25
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
- package/src/CSParseTool.ts +15 -0
- package/src/CSProtoParser.ts +120 -0
- package/src/ExportCSPlugin.ts +52 -11
- package/src/ExportLiteDBCSPlugin.ts +2 -2
- package/src/ExportLiteDBUnityCSJsonPlugin.ts +4 -4
- package/src/ExportUnityCSJsonPlugin.ts +4 -4
- package/src/ExportUnityMMPPlugin.ts +2 -2
- package/test/src0/ActivityTable.xlsx +0 -0
- package/test/src0/AnnouncementTable.xlsx +0 -0
- package/test/src0/AntiAddictionTable.xlsx +0 -0
- package/test/src0/BattleTable.xlsx +0 -0
- package/test/src0/BlackWhiteTable.xlsx +0 -0
- package/test/src0/BuffTable.xlsx +0 -0
- package/test/src0/CardTable.xlsx +0 -0
- package/test/src0/CommonQualityTable.xlsx +0 -0
- package/test/src0/CommonTipsTable.xlsx +0 -0
- package/test/src0/CommonValueTable.xlsx +0 -0
- package/test/src0/CommonVideoTable.xlsx +0 -0
- package/test/src0/CoopRuleTable.xlsx +0 -0
- package/test/src0/DefaultNameTable.xlsx +0 -0
- package/test/src0/EffectLoadTable.xlsx +0 -0
- package/test/src0/ErrorCodeTable.xlsx +0 -0
- package/test/src0/FAreaEffectTable.xlsx +0 -0
- package/test/src0/FHaloBuffTable.xlsx +0 -0
- package/test/src0/FiveAttributeTable.xlsx +0 -0
- package/test/src0/FlyerTable.xlsx +0 -0
- package/test/src0/FormationTable.xlsx +0 -0
- package/test/src0/GameUITable.xlsx +0 -0
- package/test/src0/GuildRuinsTable.xlsx +0 -0
- package/test/src0/GuildTable.xlsx +0 -0
- package/test/src0/HeadIconTable.xlsx +0 -0
- package/test/src0/InitialDataTable.xlsx +0 -0
- package/test/src0/ItemTable.xlsx +0 -0
- package/test/src0/LotteryPoolTable.xlsx +0 -0
- package/test/src0/MailTable.xlsx +0 -0
- package/test/src0/MatchTable.xlsx +0 -0
- package/test/src0/ModuleTable.xlsx +0 -0
- package/test/src0/MonsterTable.xlsx +0 -0
- package/test/src0/NotificationTable.xlsx +0 -0
- package/test/src0/PveAdventureTable.xlsx +0 -0
- package/test/src0/PveTable.xlsx +0 -0
- package/test/src0/PvpTable.xlsx +0 -0
- package/test/src0/RankTable.xlsx +0 -0
- package/test/src0/RecordTable.xlsx +0 -0
- package/test/src0/RedeemTable.xlsx +0 -0
- package/test/src0/RefinerTable.xlsx +0 -0
- package/test/src0/RobotServerConfigTable.xlsx +0 -0
- package/test/src0/ScreenAdaptTable.xlsx +0 -0
- package/test/src0/SeasonTimeTable.xlsx +0 -0
- package/test/src0/ServerTable.xlsx +0 -0
- package/test/src0/ShopTable.xlsx +0 -0
- package/test/src0/SkillTable.xlsx +0 -0
- package/test/src0/SpellTable.xlsx +0 -0
- package/test/src0/SpiritTable.xlsx +0 -0
- package/test/src0/StickerTable.xlsx +0 -0
- package/test/src0/SummonerTable.xlsx +0 -0
- package/test/src0/SutraStarTable.xlsx +0 -0
- package/test/src0/SutraSystemTable.xlsx +0 -0
- package/test/src0/SutraTable.xlsx +0 -0
- package/test/src0/SwitchTable.xlsx +0 -0
- package/test/src0/TaskAchieveTaskTable.xlsx +0 -0
- package/test/src0/TaskDayTaskTable.xlsx +0 -0
- package/test/src0/TaskSevenDayTaskTable.xlsx +0 -0
- package/test/src0/TaskTable.xlsx +0 -0
- package/test/src0/TipsTable.xlsx +0 -0
- package/test/src0/TowerTable.xlsx +0 -0
- package/test/src0/TutorialShowTable.xlsx +0 -0
- package/test/src0/TutorialTable.xlsx +0 -0
- package/test/src0/UnitAttributeTable.xlsx +0 -0
- package/test/src0//346/265/213/350/257/225/345/244/226/347/275/256/350/207/252/345/256/232/344/271/211/347/261/273/345/236/213.xlsx +0 -0
- package/test/testCSWithProto.bat +1 -0
package/dist/CSParseTool.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { Field, FieldType, DataTable } from "export-table-lib";
|
|
2
3
|
export declare function TryConvValue(value: any, t: FieldType, f: Field): any;
|
|
3
4
|
export declare function ConvValue(value: any, t: FieldType, f: Field): any;
|
|
@@ -12,6 +13,8 @@ export declare function genTupleArrayValue(f: Field, content: string): {
|
|
|
12
13
|
export declare function ToNewTupleStatement(obj: ValueTuple): string;
|
|
13
14
|
export declare function ConvValue2Literal(value: any, t: FieldType, f: Field): string;
|
|
14
15
|
export declare let isSkipExportDefaults0: boolean;
|
|
16
|
+
export declare let isOverwriteWithProto: boolean;
|
|
17
|
+
export declare let overwriteWithProtoPath: string;
|
|
15
18
|
export declare let firstLetterUpper: (str: string) => string;
|
|
16
19
|
export declare let firstLetterLower: (str: string) => string;
|
|
17
20
|
export declare let convMemberName: (str: string) => string;
|
|
@@ -30,4 +33,5 @@ export declare const convTupleArrayTypeDefine: (f: Field) => string;
|
|
|
30
33
|
export declare function GetUsingJsonToolNamespace(): string;
|
|
31
34
|
export declare let isEnableMMP: boolean;
|
|
32
35
|
export declare let useMMPNamespace: string;
|
|
36
|
+
export declare function outputFileSync(savePath: string, content1: any, options: BufferEncoding): void;
|
|
33
37
|
//# sourceMappingURL=CSParseTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSParseTool.d.ts","sourceRoot":"","sources":["../src/CSParseTool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,EAA4D,SAAS,EAAwB,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"CSParseTool.d.ts","sourceRoot":"","sources":["../src/CSParseTool.ts"],"names":[],"mappings":";AACA,OAAO,EAA0B,KAAK,EAA4D,SAAS,EAAwB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGtK,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,CAWpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,CA0CjE;AAED,MAAM,MAAM,UAAU,GAAG;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;CACZ,CAAA;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAA;CAAE,GAAG,SAAS,CAoDlH;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,UAElD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAwE5E;AAED,eAAO,IAAI,qBAAqB,SAA0D,CAAA;AAE1F,eAAO,IAAI,oBAAoB,SAAsB,CAAA;AACrD,eAAO,IAAI,sBAAsB,QAA+D,CAAA;AAEhG,eAAO,IAAI,gBAAgB,QAAkB,MAAM,WAElD,CAAC;AACF,eAAO,IAAI,gBAAgB,QAAkB,MAAM,WAElD,CAAC;AACF,eAAO,IAAI,cAAc,QAAkB,MAAM,WAEhD,CAAA;AACD,eAAO,IAAI,WAAW,QANuB,MAAM,WAMV,CAAA;AAEzC,eAAO,IAAI,mBAAmB,MAAgB,KAAK,WAclD,CAAA;AAED,eAAO,IAAI,YAAY,MAAgB,KAAK,wGAiD3C,CAAA;AAED,eAAO,IAAI,WAAW,MAAgB,KAAK,YAI1C,CAAA;AAED,eAAO,IAAI,kBAAkB,MAAgB,KAAK,WA+CjD,CAAA;AAED,eAAO,IAAI,4BAA4B,MAAgB,KAAK,WAiB3D,CAAA;AAED,eAAO,IAAI,cAAc,WAAqB,SAAS,EAAE,SAAS,KAAK,cAEtE,CAAA;AAED,eAAO,MAAM,QAAQ,UAAW,GAAG,KAAK,KAAK,KAAG,MAE/C,CAAA;AAED,eAAO,MAAM,QAAQ,MAAO,KAAK,WAEhC,CAAA;AAED,eAAO,MAAM,YAAY,MAAO,KAAK,aAEpC,CAAA;AAED,eAAO,MAAM,kBAAkB,MAAO,KAAK,sBAc1C,CAAA;AAED,eAAO,MAAM,wBAAwB,MAAO,KAAK,WAYhD,CAAA;AAED,wBAAgB,yBAAyB,WAQxC;AAED,eAAO,IAAI,WAAW,SAAwD,CAAA;AAC9E,eAAO,IAAI,eAAe,QAAgC,CAAA;AAE1D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAS7F"}
|
package/dist/CSParseTool.js
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useMMPNamespace = exports.isEnableMMP = exports.GetUsingJsonToolNamespace = exports.convTupleArrayTypeDefine = exports.convTupleArrayType = exports.getDescripts = exports.getTitle = exports.genValue = exports.getFkFieldType = exports.getCustomFieldTypeAnnotation = exports.getFieldAnnotation = exports.isTypeArray = exports.getFieldType = exports.getFieldElementType = exports.convVarName = exports.convMemberName = exports.firstLetterLower = exports.firstLetterUpper = exports.isSkipExportDefaults0 = exports.ConvValue2Literal = exports.ToNewTupleStatement = exports.genTupleArrayValue = exports.ConvValue = exports.TryConvValue = void 0;
|
|
26
|
+
exports.outputFileSync = exports.useMMPNamespace = exports.isEnableMMP = exports.GetUsingJsonToolNamespace = exports.convTupleArrayTypeDefine = exports.convTupleArrayType = exports.getDescripts = exports.getTitle = exports.genValue = exports.getFkFieldType = exports.getCustomFieldTypeAnnotation = exports.getFieldAnnotation = exports.isTypeArray = exports.getFieldType = exports.getFieldElementType = exports.convVarName = exports.convMemberName = exports.firstLetterLower = exports.firstLetterUpper = exports.overwriteWithProtoPath = exports.isOverwriteWithProto = exports.isSkipExportDefaults0 = exports.ConvValue2Literal = exports.ToNewTupleStatement = exports.genTupleArrayValue = exports.ConvValue = exports.TryConvValue = void 0;
|
|
4
27
|
const export_table_lib_1 = require("export-table-lib");
|
|
28
|
+
const fs = __importStar(require("fs-extra"));
|
|
5
29
|
function TryConvValue(value, t, f) {
|
|
6
30
|
try {
|
|
7
31
|
return ConvValue(value, t, f);
|
|
@@ -222,6 +246,9 @@ function ConvValue2Literal(value, t, f) {
|
|
|
222
246
|
}
|
|
223
247
|
exports.ConvValue2Literal = ConvValue2Literal;
|
|
224
248
|
exports.isSkipExportDefaults0 = process.argv.findIndex(v => v == "--SkipDefaults") >= 0;
|
|
249
|
+
let withProtoIndex = process.argv.findIndex(v => v == "--WithProto");
|
|
250
|
+
exports.isOverwriteWithProto = withProtoIndex >= 0;
|
|
251
|
+
exports.overwriteWithProtoPath = exports.isOverwriteWithProto ? process.argv[withProtoIndex + 1] : "";
|
|
225
252
|
let firstLetterUpper = function (str) {
|
|
226
253
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
227
254
|
};
|
|
@@ -481,3 +508,15 @@ function GetUsingJsonToolNamespace() {
|
|
|
481
508
|
exports.GetUsingJsonToolNamespace = GetUsingJsonToolNamespace;
|
|
482
509
|
exports.isEnableMMP = process.argv.findIndex(v => v == "--EnableMMPB") >= 0;
|
|
483
510
|
exports.useMMPNamespace = "using LoadTableMMP.Runtime;";
|
|
511
|
+
function outputFileSync(savePath, content1, options) {
|
|
512
|
+
if (fs.existsSync(savePath)) {
|
|
513
|
+
let content = fs.readFileSync(savePath, options);
|
|
514
|
+
if (content != content1) {
|
|
515
|
+
fs.outputFileSync(savePath, content1, options);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
fs.outputFileSync(savePath, content1, options);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
exports.outputFileSync = outputFileSync;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class FieldInfo {
|
|
2
|
+
name: string;
|
|
3
|
+
isArray: boolean;
|
|
4
|
+
type: string;
|
|
5
|
+
csName: string;
|
|
6
|
+
csType: string;
|
|
7
|
+
setName(n: string): void;
|
|
8
|
+
setType(t: string): void;
|
|
9
|
+
getFieldType(): string;
|
|
10
|
+
}
|
|
11
|
+
export declare class ClassInfo {
|
|
12
|
+
name: string;
|
|
13
|
+
type: "class" | "enum";
|
|
14
|
+
fields: FieldInfo[];
|
|
15
|
+
getFieldInfo(fieldName: string): FieldInfo | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare class CSProtoParser {
|
|
18
|
+
typeMap: Map<string, ClassInfo>;
|
|
19
|
+
parseProtoFile(filePath: string): void;
|
|
20
|
+
getClassInfo(className: string): ClassInfo | undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=CSProtoParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSProtoParser.d.ts","sourceRoot":"","sources":["../src/CSProtoParser.ts"],"names":[],"mappings":"AAUA,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,OAAO,EAAE,OAAO,CAAQ;IACxB,IAAI,EAAE,MAAM,CAAK;IACjB,MAAM,EAAE,MAAM,CAAK;IACnB,MAAM,EAAE,MAAM,CAAK;IAEnB,OAAO,CAAC,CAAC,EAAE,MAAM;IAOjB,OAAO,CAAC,CAAC,EAAE,MAAM;IAWjB,YAAY;CAGf;AAED,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAU;IAChC,MAAM,EAAE,SAAS,EAAE,CAAK;IAExB,YAAY,CAAC,SAAS,EAAE,MAAM;CAIjC;AAED,qBAAa,aAAa;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAC5C,cAAc,CAAC,QAAQ,EAAE,MAAM;IA+D/B,YAAY,CAAC,SAAS,EAAE,MAAM;CAGjC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.CSProtoParser = exports.ClassInfo = exports.FieldInfo = void 0;
|
|
27
|
+
const fs = __importStar(require("fs-extra"));
|
|
28
|
+
const CSParseTool_1 = require("./CSParseTool");
|
|
29
|
+
let fieldTypeMap = {
|
|
30
|
+
["float"]: "float",
|
|
31
|
+
["double"]: "double",
|
|
32
|
+
["int32"]: "int",
|
|
33
|
+
["bool"]: "bool",
|
|
34
|
+
["bytes"]: "byte[]",
|
|
35
|
+
};
|
|
36
|
+
class FieldInfo {
|
|
37
|
+
name = "";
|
|
38
|
+
isArray = false;
|
|
39
|
+
type = "";
|
|
40
|
+
csName = "";
|
|
41
|
+
csType = "";
|
|
42
|
+
setName(n) {
|
|
43
|
+
this.name = n;
|
|
44
|
+
this.csName = (0, CSParseTool_1.firstLetterLower)(this.name.split("_")
|
|
45
|
+
.map(t => t.slice(0, 1).toUpperCase() + t.slice(1))
|
|
46
|
+
.join(""));
|
|
47
|
+
}
|
|
48
|
+
setType(t) {
|
|
49
|
+
this.type = t;
|
|
50
|
+
let internalType = fieldTypeMap[this.type];
|
|
51
|
+
if (internalType != undefined) {
|
|
52
|
+
this.csType = internalType;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.csType = t;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getFieldType() {
|
|
59
|
+
return this.csType;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.FieldInfo = FieldInfo;
|
|
63
|
+
class ClassInfo {
|
|
64
|
+
name = "";
|
|
65
|
+
type = "class";
|
|
66
|
+
fields = [];
|
|
67
|
+
getFieldInfo(fieldName) {
|
|
68
|
+
return this.fields.find(field => field.csName == fieldName);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.ClassInfo = ClassInfo;
|
|
72
|
+
class CSProtoParser {
|
|
73
|
+
typeMap = new Map();
|
|
74
|
+
parseProtoFile(filePath) {
|
|
75
|
+
let content = fs.readFileSync(filePath, "utf-8");
|
|
76
|
+
let curClass = null;
|
|
77
|
+
let codeLines = content.split("\n");
|
|
78
|
+
let messageRegex = /message (\w+)/;
|
|
79
|
+
let enumRegex = /enum (\w+)/;
|
|
80
|
+
let structEndRegex = /^\}/;
|
|
81
|
+
let fieldRegex = /(?:(repeated) )?(\w+) (\w+)\s*=\s*\d+;/;
|
|
82
|
+
let codeLinesLen = codeLines.length;
|
|
83
|
+
let isInClass = false;
|
|
84
|
+
for (let i = 0; i < codeLinesLen; i++) {
|
|
85
|
+
let line = codeLines[i];
|
|
86
|
+
if (!isInClass) {
|
|
87
|
+
// check enter class
|
|
88
|
+
while (true) {
|
|
89
|
+
let m1 = line.match(messageRegex);
|
|
90
|
+
if (m1) {
|
|
91
|
+
let className = m1[1];
|
|
92
|
+
curClass = new ClassInfo();
|
|
93
|
+
console.log(`find class: ${className}`);
|
|
94
|
+
curClass.name = className;
|
|
95
|
+
curClass.type = "class";
|
|
96
|
+
this.typeMap.set(className, curClass);
|
|
97
|
+
isInClass = true;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
let m2 = line.match(enumRegex);
|
|
101
|
+
if (m2) {
|
|
102
|
+
let enumName = m2[1];
|
|
103
|
+
curClass = new ClassInfo();
|
|
104
|
+
curClass.name = enumName;
|
|
105
|
+
curClass.type = "enum";
|
|
106
|
+
this.typeMap.set(enumName, curClass);
|
|
107
|
+
isInClass = true;
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// check leave class
|
|
115
|
+
let m3 = line.match(structEndRegex);
|
|
116
|
+
if (m3) {
|
|
117
|
+
curClass = null;
|
|
118
|
+
isInClass = false;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// parse class fields
|
|
122
|
+
let mField = line.match(fieldRegex);
|
|
123
|
+
if (mField) {
|
|
124
|
+
let isArray = mField[1] == "repeated";
|
|
125
|
+
let fieldType = mField[2];
|
|
126
|
+
let fieldName = mField[3];
|
|
127
|
+
let field = new FieldInfo();
|
|
128
|
+
field.setName(fieldName);
|
|
129
|
+
field.setType(fieldType);
|
|
130
|
+
field.isArray = isArray;
|
|
131
|
+
curClass.fields.push(field);
|
|
132
|
+
console.log(`find field: ${field.csName}, ${field.csType}, ${curClass.fields.length}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
getClassInfo(className) {
|
|
139
|
+
return this.typeMap.get(className);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.CSProtoParser = CSProtoParser;
|
package/dist/ExportCSPlugin.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { HandleSheetParams, PluginBase } from "export-table-lib";
|
|
1
|
+
import { HandleSheetParams, PluginBase, HandleBatchParams } from "export-table-lib";
|
|
2
2
|
export declare function export_stuff(paras: HandleSheetParams): string | null;
|
|
3
3
|
export declare class ExportPlugin extends PluginBase {
|
|
4
4
|
name: string;
|
|
5
5
|
tags: string[];
|
|
6
|
+
handleBatch(paras: HandleBatchParams): void;
|
|
6
7
|
handleSheet(paras: HandleSheetParams): string | null;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=ExportCSPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportCSPlugin.d.ts","sourceRoot":"","sources":["../src/ExportCSPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,
|
|
1
|
+
{"version":3,"file":"ExportCSPlugin.d.ts","sourceRoot":"","sources":["../src/ExportCSPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAAE,iBAAiB,EAAmD,MAAM,kBAAkB,CAAA;AAMtK,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA6QpE;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC3C,IAAI,SAAW;IACf,IAAI,EAAE,MAAM,EAAE,CAAS;IAEvB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,iBAAiB;CAOpC"}
|
package/dist/ExportCSPlugin.js
CHANGED
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.ExportPlugin = exports.export_stuff = void 0;
|
|
27
4
|
const export_table_lib_1 = require("export-table-lib");
|
|
28
5
|
const CSParseTool_1 = require("./CSParseTool");
|
|
29
|
-
const
|
|
6
|
+
const CSProtoParser_1 = require("./CSProtoParser");
|
|
7
|
+
let protoParser = new CSProtoParser_1.CSProtoParser();
|
|
30
8
|
function export_stuff(paras) {
|
|
31
|
-
let { datas, fields, inject, name, objects, packagename, tables, xxtea, exportNamespace, moreOptions, allTags, } = paras;
|
|
9
|
+
let { datas, fields, inject, name, objects, packagename, tables, table: { nameOrigin, }, xxtea, exportNamespace, moreOptions, allTags, } = paras;
|
|
32
10
|
let isSkipExportDefaults = !!(moreOptions?.SkipDefaults ?? false);
|
|
33
11
|
if (CSParseTool_1.isSkipExportDefaults0) {
|
|
34
12
|
isSkipExportDefaults = true;
|
|
@@ -45,17 +23,51 @@ function export_stuff(paras) {
|
|
|
45
23
|
customFields.push(f3);
|
|
46
24
|
}
|
|
47
25
|
}
|
|
26
|
+
let isValidField;
|
|
27
|
+
let getFieldType2;
|
|
28
|
+
let classNameOrigin = (0, CSParseTool_1.firstLetterUpper)(nameOrigin);
|
|
29
|
+
if (CSParseTool_1.isOverwriteWithProto) {
|
|
30
|
+
let classInfo = protoParser.getClassInfo(classNameOrigin);
|
|
31
|
+
if (classInfo != null) {
|
|
32
|
+
for (let f of classInfo.fields) {
|
|
33
|
+
console.log(`${f.csName}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
isValidField = (f) => {
|
|
37
|
+
let fieldInfo = classInfo?.getFieldInfo(f.name);
|
|
38
|
+
console.log(`validf: ${f.name}, ${fieldInfo}`);
|
|
39
|
+
return fieldInfo == null;
|
|
40
|
+
};
|
|
41
|
+
getFieldType2 = (f) => {
|
|
42
|
+
let fieldInfo = classInfo?.getFieldInfo(f.name);
|
|
43
|
+
if (fieldInfo != null) {
|
|
44
|
+
let fieldName = fieldInfo.getFieldType();
|
|
45
|
+
return fieldName;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return (0, CSParseTool_1.getFieldType)(f);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
isValidField = (f) => true;
|
|
54
|
+
getFieldType2 = CSParseTool_1.getFieldType;
|
|
55
|
+
}
|
|
56
|
+
let validFields = fields.filter(f => isValidField(f));
|
|
57
|
+
let mmpPrefix = CSParseTool_1.isOverwriteWithProto ? "[MemoryPackable]" : "";
|
|
58
|
+
let extendClass = CSParseTool_1.isOverwriteWithProto ? ` : ${classNameOrigin}` : "";
|
|
59
|
+
let usingProtoNamespace = CSParseTool_1.isOverwriteWithProto ? "\nusing DXTS.BattleProto;" : "";
|
|
48
60
|
let isMMPEnabled = allTags.indexOf('csharp:mmp') != -1;
|
|
49
61
|
let mmpNamespace = isMMPEnabled ? CSParseTool_1.useMMPNamespace : "";
|
|
50
62
|
let temp = `
|
|
51
63
|
using System.Collections.Generic;
|
|
52
64
|
using System.Linq;
|
|
53
|
-
using System.Runtime.InteropServices
|
|
65
|
+
using System.Runtime.InteropServices;${usingProtoNamespace}
|
|
54
66
|
${mmpNamespace}
|
|
55
67
|
|
|
56
68
|
namespace ${exportNamespace}{
|
|
57
|
-
[System.Serializable]
|
|
58
|
-
public partial class ${RowClass} {
|
|
69
|
+
[System.Serializable]${mmpPrefix}
|
|
70
|
+
public partial class ${RowClass}${extendClass} {
|
|
59
71
|
|
|
60
72
|
public static List<${RowClass}> Configs = new List<${RowClass}>()
|
|
61
73
|
{
|
|
@@ -65,7 +77,7 @@ ${(0, export_table_lib_1.foreach)(datas, data => ` new ${RowClass}(${(0, export
|
|
|
65
77
|
};
|
|
66
78
|
|
|
67
79
|
public ${RowClass}() { }
|
|
68
|
-
public ${RowClass}(${(0, export_table_lib_1.st)(() => customFields.map(f => `${(
|
|
80
|
+
public ${RowClass}(${(0, export_table_lib_1.st)(() => customFields.map(f => `${getFieldType2(f)} ${(0, CSParseTool_1.convVarName)(f.name)}`).join(", "))})
|
|
69
81
|
{
|
|
70
82
|
${(0, export_table_lib_1.foreach)(customFields, f => ` this.${(0, CSParseTool_1.convMemberName)(f.name)} = ${(0, CSParseTool_1.convVarName)(f.name)};`)}
|
|
71
83
|
}
|
|
@@ -84,12 +96,12 @@ ${(0, export_table_lib_1.foreach)(customFields, f => ` this.${(0, CSParseTool_1
|
|
|
84
96
|
}
|
|
85
97
|
|
|
86
98
|
${(0, export_table_lib_1.cmm)( /**生成字段 */)}
|
|
87
|
-
${(0, export_table_lib_1.foreach)(
|
|
99
|
+
${(0, export_table_lib_1.foreach)(validFields, f => `
|
|
88
100
|
/// <summary>
|
|
89
101
|
${(0, export_table_lib_1.foreach)((0, CSParseTool_1.getDescripts)(f), line => ` /// ${line}`)}
|
|
90
102
|
/// </summary>
|
|
91
103
|
${(0, CSParseTool_1.getFieldAnnotation)(f)}
|
|
92
|
-
public ${(
|
|
104
|
+
public ${getFieldType2(f)} ${(0, CSParseTool_1.convMemberName)(f.name)};
|
|
93
105
|
|
|
94
106
|
${(0, export_table_lib_1.iff)(f.rawType.startsWith("@"), () => `
|
|
95
107
|
/// <summary>
|
|
@@ -102,7 +114,7 @@ ${(0, export_table_lib_1.foreach)((0, CSParseTool_1.getDescripts)(f), line => `
|
|
|
102
114
|
#region get字段
|
|
103
115
|
${(0, export_table_lib_1.foreach)(fields, f => {
|
|
104
116
|
if (f.nameOrigin != f.name) {
|
|
105
|
-
return ` public ${(
|
|
117
|
+
return ` public ${getFieldType2(f)} ${(0, CSParseTool_1.getTitle)(f).replace(" ", "_")} => ${(0, CSParseTool_1.convMemberName)(f.name)};`;
|
|
106
118
|
}
|
|
107
119
|
else {
|
|
108
120
|
return "";
|
|
@@ -116,7 +128,7 @@ ${(0, export_table_lib_1.foreach)(fields, f => {
|
|
|
116
128
|
let memberName = (0, CSParseTool_1.convMemberName)(f.name);
|
|
117
129
|
let paraName = (0, CSParseTool_1.convVarName)(memberName);
|
|
118
130
|
let tempDictByMemberName = `TempDictBy${memberName}`;
|
|
119
|
-
let memberType = (
|
|
131
|
+
let memberType = getFieldType2(f);
|
|
120
132
|
return `
|
|
121
133
|
protected static Dictionary<${memberType}, ${RowClass}> ${tempDictByMemberName};
|
|
122
134
|
public static ${RowClass} GetConfigBy${memberName}(${memberType} ${paraName})
|
|
@@ -144,7 +156,7 @@ ${(0, export_table_lib_1.foreach)(fields, f => {
|
|
|
144
156
|
let memberName = (0, CSParseTool_1.convMemberName)(f.name);
|
|
145
157
|
let paraName = (0, CSParseTool_1.convVarName)(memberName);
|
|
146
158
|
let tempRecordsDictByMemberName = `TempRecordsDictBy${memberName}`;
|
|
147
|
-
let memberType = (
|
|
159
|
+
let memberType = getFieldType2(f);
|
|
148
160
|
return `
|
|
149
161
|
protected static Dictionary<${memberType}, ${RowClass}[]> ${tempRecordsDictByMemberName};
|
|
150
162
|
public static ${RowClass}[] GetConfigsBy${memberName}(${memberType} ${paraName})
|
|
@@ -237,10 +249,14 @@ exports.export_stuff = export_stuff;
|
|
|
237
249
|
class ExportPlugin extends export_table_lib_1.PluginBase {
|
|
238
250
|
name = "csharp";
|
|
239
251
|
tags = ["cs"];
|
|
252
|
+
handleBatch(paras) {
|
|
253
|
+
console.log(`try parse proto: ${CSParseTool_1.overwriteWithProtoPath}`);
|
|
254
|
+
protoParser.parseProtoFile(CSParseTool_1.overwriteWithProtoPath);
|
|
255
|
+
}
|
|
240
256
|
handleSheet(paras) {
|
|
241
257
|
let content = export_stuff(paras);
|
|
242
258
|
if (content != null) {
|
|
243
|
-
|
|
259
|
+
(0, CSParseTool_1.outputFileSync)(paras.outFilePath.fullPath, content, "utf-8");
|
|
244
260
|
}
|
|
245
261
|
return content;
|
|
246
262
|
}
|
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.ExportLiteDBCSPlugin = exports.export_stuff = void 0;
|
|
27
4
|
const export_table_lib_1 = require("export-table-lib");
|
|
28
5
|
const CSParseTool_1 = require("./CSParseTool");
|
|
29
|
-
const fs = __importStar(require("fs-extra"));
|
|
30
6
|
function export_stuff(paras) {
|
|
31
7
|
let { datas, fields, inject, name, objects, packagename, tables, xxtea, exportNamespace, moreOptions, } = paras;
|
|
32
8
|
let isSkipExportDefaults = !!(moreOptions?.SkipDefaults ?? false);
|
|
@@ -237,7 +213,7 @@ class ExportLiteDBCSPlugin extends export_table_lib_1.PluginBase {
|
|
|
237
213
|
if (content != null) {
|
|
238
214
|
var fullName = `${paras.table.workbookName}-${paras.name}`;
|
|
239
215
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, ".cs").fullPath;
|
|
240
|
-
|
|
216
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content, "utf-8");
|
|
241
217
|
}
|
|
242
218
|
return content;
|
|
243
219
|
}
|
|
@@ -121,14 +121,14 @@ class ExportLiteDBUJsonPlugin extends export_table_lib_1.PluginBase {
|
|
|
121
121
|
let content1 = exportUJsonLoader(paras);
|
|
122
122
|
if (content1 != null) {
|
|
123
123
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath;
|
|
124
|
-
|
|
124
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content1, "utf-8");
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
{
|
|
128
128
|
let content2 = (0, ExportUnityCSJsonPlugin_1.exportUJson)(paras);
|
|
129
129
|
if (content2 != null) {
|
|
130
130
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, ".json").fullPath;
|
|
131
|
-
|
|
131
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content2, "utf-8");
|
|
132
132
|
}
|
|
133
133
|
return content2;
|
|
134
134
|
}
|
|
@@ -160,7 +160,7 @@ ${(0, export_table_lib_1.foreach)(tables.sort((ta, tb) => ta.name.localeCompare(
|
|
|
160
160
|
}
|
|
161
161
|
`;
|
|
162
162
|
let savePath = paras.outPath + "/DefaultConfigLoader.cs";
|
|
163
|
-
|
|
163
|
+
(0, CSParseTool_1.outputFileSync)(savePath, temp, "utf-8");
|
|
164
164
|
// var options = new program.Command().option("--litedbpath <string>").parse(process.argv).allowUnknownOption(true).opts()
|
|
165
165
|
// let litedbpath = options["litedbpath"]
|
|
166
166
|
let litedbpathIndex = process.argv.indexOf("--litedbpath");
|
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.ExportUJsonPlugin = exports.exportUJsonLoader = exports.exportUJson = void 0;
|
|
27
4
|
const export_table_lib_1 = require("export-table-lib");
|
|
28
|
-
const fs = __importStar(require("fs-extra"));
|
|
29
5
|
const CSParseTool_1 = require("./CSParseTool");
|
|
30
6
|
var isSkipIndexLoader0 = process.argv.findIndex(v => v == "--SkipIndexLoader") >= 0;
|
|
31
7
|
var isWrapObject = process.argv.findIndex(v => v == "--WrapObject") >= 0;
|
|
@@ -200,14 +176,14 @@ class ExportUJsonPlugin extends export_table_lib_1.PluginBase {
|
|
|
200
176
|
let content1 = exportUJsonLoader(paras);
|
|
201
177
|
if (content1 != null) {
|
|
202
178
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath;
|
|
203
|
-
|
|
179
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content1, "utf-8");
|
|
204
180
|
}
|
|
205
181
|
}
|
|
206
182
|
{
|
|
207
183
|
let content2 = exportUJson(paras);
|
|
208
184
|
if (content2 != null) {
|
|
209
185
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, ".json").fullPath;
|
|
210
|
-
|
|
186
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content2, "utf-8");
|
|
211
187
|
}
|
|
212
188
|
return content2;
|
|
213
189
|
}
|
|
@@ -248,7 +224,7 @@ ${(0, export_table_lib_1.foreach)(tables.sort((ta, tb) => ta.name.localeCompare(
|
|
|
248
224
|
}
|
|
249
225
|
`;
|
|
250
226
|
let savePath = paras.outPath + "/DefaultConfigLoader.cs";
|
|
251
|
-
|
|
227
|
+
(0, CSParseTool_1.outputFileSync)(savePath, temp, "utf-8");
|
|
252
228
|
}
|
|
253
229
|
}
|
|
254
230
|
exports.ExportUJsonPlugin = ExportUJsonPlugin;
|
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.ExportUnityMMPPlugin = exports.exportMMP = void 0;
|
|
27
4
|
const export_table_lib_1 = require("export-table-lib");
|
|
28
|
-
const fs = __importStar(require("fs-extra"));
|
|
29
5
|
const CSParseTool_1 = require("./CSParseTool");
|
|
30
6
|
var isEnableMMPB = process.argv.findIndex(v => v == "--EnableMMPB") >= 0;
|
|
31
7
|
let firstLetterUpper = export_table_lib_1.makeFirstLetterUpper;
|
|
@@ -132,7 +108,7 @@ class ExportUnityMMPPlugin extends export_table_lib_1.PluginBase {
|
|
|
132
108
|
let content1 = exportMMP(paras);
|
|
133
109
|
if (content1 != null) {
|
|
134
110
|
let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, "MMP.cs").fullPath;
|
|
135
|
-
|
|
111
|
+
(0, CSParseTool_1.outputFileSync)(savePath, content1, "utf-8");
|
|
136
112
|
}
|
|
137
113
|
}
|
|
138
114
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import { ExportLiteDBCSPlugin } from "./ExportLiteDBCSPlugin";
|
|
|
3
3
|
import { ExportLiteDBUJsonPlugin } from "./ExportLiteDBUnityCSJsonPlugin";
|
|
4
4
|
import { ExportUJsonPlugin } from "./ExportUnityCSJsonPlugin";
|
|
5
5
|
import { ExportUnityMMPPlugin } from "./ExportUnityMMPPlugin";
|
|
6
|
-
export declare const ExportPlugins: (ExportCSPlugin |
|
|
6
|
+
export declare const ExportPlugins: (ExportCSPlugin | ExportUJsonPlugin | ExportLiteDBCSPlugin | ExportLiteDBUJsonPlugin | ExportUnityMMPPlugin)[];
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "export-table-pulgin-csharp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.165",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {},
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@types/commander": "2.12.2",
|
|
15
15
|
"@types/node": "^17.0.18",
|
|
16
|
-
"export-table-lib": "^1.0.
|
|
16
|
+
"export-table-lib": "^1.0.68",
|
|
17
17
|
"fs": "^0.0.1-security",
|
|
18
18
|
"fs-extra": "^10.0.0",
|
|
19
19
|
"fse": "^4.0.1"
|
package/src/CSParseTool.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { cmm, HandleSheetParams, Field, foreach, IPlugin, st, PluginBase, HandleBatchParams, iff, FieldType, makeFirstLetterLower, DataTable } from "export-table-lib"
|
|
3
|
+
import * as fs from "fs-extra"
|
|
3
4
|
|
|
4
5
|
export function TryConvValue(value: any, t: FieldType, f: Field): any {
|
|
5
6
|
try {
|
|
@@ -196,6 +197,9 @@ export function ConvValue2Literal(value: any, t: FieldType, f: Field): string {
|
|
|
196
197
|
}
|
|
197
198
|
|
|
198
199
|
export let isSkipExportDefaults0 = process.argv.findIndex(v => v == "--SkipDefaults") >= 0
|
|
200
|
+
let withProtoIndex = process.argv.findIndex(v => v == "--WithProto")
|
|
201
|
+
export let isOverwriteWithProto = withProtoIndex >= 0
|
|
202
|
+
export let overwriteWithProtoPath = isOverwriteWithProto ? process.argv[withProtoIndex + 1] : ""
|
|
199
203
|
|
|
200
204
|
export let firstLetterUpper = function (str: string) {
|
|
201
205
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
@@ -407,3 +411,14 @@ export function GetUsingJsonToolNamespace() {
|
|
|
407
411
|
|
|
408
412
|
export let isEnableMMP = process.argv.findIndex(v => v == "--EnableMMPB") >= 0
|
|
409
413
|
export let useMMPNamespace = "using LoadTableMMP.Runtime;"
|
|
414
|
+
|
|
415
|
+
export function outputFileSync(savePath: string, content1: any, options: BufferEncoding): void {
|
|
416
|
+
if (fs.existsSync(savePath)) {
|
|
417
|
+
let content = fs.readFileSync(savePath, options)
|
|
418
|
+
if (content != content1) {
|
|
419
|
+
fs.outputFileSync(savePath, content1, options)
|
|
420
|
+
}
|
|
421
|
+
} else {
|
|
422
|
+
fs.outputFileSync(savePath, content1, options)
|
|
423
|
+
}
|
|
424
|
+
}
|