export-table-pulgin-csharp 1.0.64 → 1.0.66

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ExportUnityCSJsonPlugin.d.ts","sourceRoot":"","sources":["../src/ExportUnityCSJsonPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAA;AAMlI,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA+CnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA0EzE;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IAChD,IAAI,SAAU;IACd,IAAI,EAAE,MAAM,EAAE,CAAY;IAE1B,WAAW,CAAC,KAAK,EAAE,iBAAiB;IAmBpC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAsB3C"}
1
+ {"version":3,"file":"ExportUnityCSJsonPlugin.d.ts","sourceRoot":"","sources":["../src/ExportUnityCSJsonPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAA;AAMlI,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA6CnE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA2CzE;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IAChD,IAAI,SAAU;IACd,IAAI,EAAE,MAAM,EAAE,CAAY;IAE1B,WAAW,CAAC,KAAK,EAAE,iBAAiB;IAmBpC,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAsB3C"}
@@ -1,185 +1,153 @@
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.ExportUJsonPlugin = exports.exportUJsonLoader = exports.exportUJson = void 0;
27
- const export_table_lib_1 = require("export-table-lib");
28
- const fs = __importStar(require("fs-extra"));
29
- let firstLetterUpper = function (str) {
30
- return str.charAt(0).toUpperCase() + str.slice(1);
31
- };
32
- function exportUJson(paras) {
33
- let { datas, fields, name, objects, table, } = paras;
34
- let firstLetterLower = function (str) {
35
- return str.charAt(0).toLowerCase() + str.slice(1);
36
- };
37
- let convMemberName = function (str) {
38
- return str.split("_").map(s => firstLetterUpper(s)).join("");
39
- };
40
- var fullName = `${table.workbookName}-${name}`;
41
- let jsonString = JSON.stringify(objects.map(obj => {
42
- var newObj = Object.create(null);
43
- Object.keys(obj).forEach(key => {
44
- var newKey = convMemberName(key);
45
- newObj[newKey] = obj[key];
46
- });
47
- return newObj;
48
- }));
49
- return jsonString;
50
- // // !!!必须开头没有空格
51
- // let temp = `%YAML 1.1
52
- // %TAG !u! tag:unity3d.com,2011:
53
- // --- !u!114 &11400000
54
- // MonoBehaviour:
55
- // m_ObjectHideFlags: 0
56
- // m_CorrespondingSourceObject: {fileID: 0}
57
- // m_PrefabInstance: {fileID: 0}
58
- // m_PrefabAsset: {fileID: 0}
59
- // m_GameObject: {fileID: 0}
60
- // m_Enabled: 1
61
- // m_EditorHideFlags: 0
62
- // m_Script: {fileID: 11500000, guid: 496f60086c072a8479a6e0b948efb5e8, type: 3}
63
- // m_Name: ${fullName}
64
- // m_EditorClassIdentifier:
65
- // JsonText: ${JSON.stringify(jsonString)}
66
- // `
67
- // return temp
68
- }
69
- exports.exportUJson = exportUJson;
70
- function exportUJsonLoader(paras) {
71
- let { datas, fields, name, objects, table, } = paras;
72
- let RowClass = firstLetterUpper(name);
73
- var fullName = `${table.workbookName}-${name}`;
74
- // !!!必须开头没有空格
75
- let temp = `
76
- using UnityEngine.AddressableAssets;
77
- using System.Threading.Tasks;
78
- using UnityEngine;
79
- using lang.json;
80
-
81
- namespace MEEC.ExportedConfigs
82
- {
83
- public partial class ${RowClass}
84
- {
85
- public static async Task Load()
86
- {
87
- var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.json";
88
- var configJson =
89
- #if UNITY_EDITOR
90
- Application.isPlaying ? await Addressables.LoadAssetAsync<TextAsset>(loadUrl).Task
91
- : UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(loadUrl);
92
- #else
93
- await Addressables.LoadAssetAsync<TextAsset>(loadUrl).Task;
94
- #endif
95
- if (configJson != null)
96
- {
97
- var jsonObjs = JSON.parse<${RowClass}[]>(configJson.text);
98
- var configs = ${RowClass}.Configs;
99
- configs.Clear();
100
- configs.AddRange(jsonObjs);
101
- }
102
- else
103
- {
104
- Debug.LogError($"配表资源缺失: {loadUrl}");
105
- }
106
- }
107
-
108
- #if UNITY_EDITOR
109
- public static void LoadInEditor()
110
- {
111
- if (Application.isPlaying)
112
- {
113
- var tip = $"cannot load ${RowClass}[] with LoadInEditor at runtime";
114
- Debug.LogError(tip);
115
- throw new System.Exception(tip);
116
- }
117
- var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.json";
118
- var configJson = UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(loadUrl);
119
- if (configJson != null)
120
- {
121
- var jsonObjs = JSON.parse<${RowClass}[]>(configJson.text);
122
- var configs = ${RowClass}.Configs;
123
- configs.Clear();
124
- configs.AddRange(jsonObjs);
125
- }
126
- else
127
- {
128
- Debug.LogError($"配表资源缺失: {loadUrl}");
129
- }
130
- }
131
- #endif
132
- }
133
- }
134
- `;
135
- return temp;
136
- }
137
- exports.exportUJsonLoader = exportUJsonLoader;
138
- class ExportUJsonPlugin extends export_table_lib_1.PluginBase {
139
- constructor() {
140
- super(...arguments);
141
- this.name = "ujson";
142
- this.tags = ["ujson"];
143
- }
144
- handleSheet(paras) {
145
- var fullName = `${paras.table.workbookName}-${paras.name}`;
146
- {
147
- let content1 = exportUJsonLoader(paras);
148
- if (content1 != null) {
149
- let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath;
150
- fs.outputFileSync(savePath, content1, "utf-8");
151
- }
152
- }
153
- {
154
- let content2 = exportUJson(paras);
155
- if (content2 != null) {
156
- let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, ".json").fullPath;
157
- fs.outputFileSync(savePath, content2, "utf-8");
158
- }
159
- return content2;
160
- }
161
- }
162
- handleBatch(paras) {
163
- var tables = paras.tables;
164
- var temp = `
165
- using System;
166
- using System.Collections.Generic;
167
- using System.Threading.Tasks;
168
-
169
- namespace MEEC.ExportedConfigs
170
- {
171
- public static class DefaultConfigLoader{
172
- public static IEnumerable<Func<Task>> Load(){
173
- ${(0, export_table_lib_1.foreach)(tables, (table) => `
174
- yield return ${firstLetterUpper(table.name)}.Load;
175
- `)}
176
- yield break;
177
- }
178
- }
179
- }
180
- `;
181
- let savePath = paras.outPath + "/DefaultConfigLoader.cs";
182
- fs.outputFileSync(savePath, temp, "utf-8");
183
- }
184
- }
185
- exports.ExportUJsonPlugin = ExportUJsonPlugin;
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.ExportUJsonPlugin = exports.exportUJsonLoader = exports.exportUJson = void 0;
27
+ const export_table_lib_1 = require("export-table-lib");
28
+ const fs = __importStar(require("fs-extra"));
29
+ let firstLetterUpper = function (str) {
30
+ return str.charAt(0).toUpperCase() + str.slice(1);
31
+ };
32
+ function exportUJson(paras) {
33
+ let { datas, fields, name, objects, table, } = paras;
34
+ let firstLetterLower = function (str) {
35
+ return str.charAt(0).toLowerCase() + str.slice(1);
36
+ };
37
+ let convMemberName = function (str) {
38
+ return str.split("_").map(s => firstLetterUpper(s)).join("");
39
+ };
40
+ var fullName = `${table.workbookName}-${name}`;
41
+ let jsonString = JSON.stringify(objects.map(obj => {
42
+ var newObj = Object.create(null);
43
+ Object.keys(obj).forEach(key => {
44
+ var newKey = convMemberName(key);
45
+ newObj[newKey] = obj[key];
46
+ });
47
+ return newObj;
48
+ }));
49
+ // !!!必须开头没有空格
50
+ let temp = `%YAML 1.1
51
+ %TAG !u! tag:unity3d.com,2011:
52
+ --- !u!114 &11400000
53
+ MonoBehaviour:
54
+ m_ObjectHideFlags: 0
55
+ m_CorrespondingSourceObject: {fileID: 0}
56
+ m_PrefabInstance: {fileID: 0}
57
+ m_PrefabAsset: {fileID: 0}
58
+ m_GameObject: {fileID: 0}
59
+ m_Enabled: 1
60
+ m_EditorHideFlags: 0
61
+ m_Script: {fileID: 11500000, guid: 496f60086c072a8479a6e0b948efb5e8, type: 3}
62
+ m_Name: ${fullName}
63
+ m_EditorClassIdentifier:
64
+ JsonText: ${JSON.stringify(jsonString)}
65
+ `;
66
+ return temp;
67
+ }
68
+ exports.exportUJson = exportUJson;
69
+ function exportUJsonLoader(paras) {
70
+ let { datas, fields, name, objects, table, } = paras;
71
+ let RowClass = firstLetterUpper(name);
72
+ var fullName = `${table.workbookName}-${name}`;
73
+ // !!!必须开头没有空格
74
+ let temp = `
75
+ using lang.json;
76
+ using UnityEngine.AddressableAssets;
77
+ using System.Threading.Tasks;
78
+ using UnityEngine;
79
+
80
+ namespace MEEC.ExportedConfigs
81
+ {
82
+ public partial class ${RowClass}
83
+ {
84
+ public static async Task Load()
85
+ {
86
+ var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.asset";
87
+ var configJson = await Addressables.LoadAssetAsync<ExcelConfigJson>(loadUrl).Task;
88
+ if (configJson != null)
89
+ {
90
+ var jsonObjs = JSON.parse<${RowClass}[]>(configJson.JsonText);
91
+ var configs = ${RowClass}.Configs;
92
+ configs.Clear();
93
+ configs.AddRange(jsonObjs);
94
+ }
95
+ else
96
+ {
97
+ Debug.LogError($"配表资源缺失: {loadUrl}");
98
+ }
99
+ }
100
+ }
101
+ }
102
+ `;
103
+ return temp;
104
+ }
105
+ exports.exportUJsonLoader = exportUJsonLoader;
106
+ class ExportUJsonPlugin extends export_table_lib_1.PluginBase {
107
+ constructor() {
108
+ super(...arguments);
109
+ this.name = "ujson";
110
+ this.tags = ["ujson"];
111
+ }
112
+ handleSheet(paras) {
113
+ var fullName = `${paras.table.workbookName}-${paras.name}`;
114
+ {
115
+ let content1 = exportUJsonLoader(paras);
116
+ if (content1 != null) {
117
+ let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath;
118
+ fs.outputFileSync(savePath, content1, "utf-8");
119
+ }
120
+ }
121
+ {
122
+ let content2 = exportUJson(paras);
123
+ if (content2 != null) {
124
+ let savePath = new export_table_lib_1.OutFilePath(paras.outPath, fullName, ".asset").fullPath;
125
+ fs.outputFileSync(savePath, content2, "utf-8");
126
+ }
127
+ return content2;
128
+ }
129
+ }
130
+ handleBatch(paras) {
131
+ var tables = paras.tables;
132
+ var temp = `
133
+ using System;
134
+ using System.Collections.Generic;
135
+ using System.Threading.Tasks;
136
+
137
+ namespace MEEC.ExportedConfigs
138
+ {
139
+ public static class DefaultConfigLoader{
140
+ public static IEnumerable<Func<Task>> Load(){
141
+ ${(0, export_table_lib_1.foreach)(tables, (table) => `
142
+ yield return ${firstLetterUpper(table.name)}.Load;
143
+ `)}
144
+ yield break;
145
+ }
146
+ }
147
+ }
148
+ `;
149
+ let savePath = paras.outPath + "/DefaultConfigLoader.cs";
150
+ fs.outputFileSync(savePath, temp, "utf-8");
151
+ }
152
+ }
153
+ exports.ExportUJsonPlugin = ExportUJsonPlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "export-table-pulgin-csharp",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -1,178 +1,145 @@
1
-
2
- import { cmm, HandleSheetParams, Field, foreach, IPlugin, st, PluginBase, HandleBatchParams, OutFilePath } from "export-table-lib"
3
- import * as fs from "fs-extra"
4
-
5
- let firstLetterUpper = function (str: string) {
6
- return str.charAt(0).toUpperCase() + str.slice(1);
7
- };
8
- export function exportUJson(paras: HandleSheetParams): string | null {
9
- let {
10
- datas,
11
- fields,
12
- name,
13
- objects,
14
- table,
15
- } = paras;
16
-
17
- let firstLetterLower = function (str: string) {
18
- return str.charAt(0).toLowerCase() + str.slice(1);
19
- };
20
- let convMemberName = function (str: string) {
21
- return str.split("_").map(s => firstLetterUpper(s)).join("")
22
- }
23
-
24
- var fullName = `${table.workbookName}-${name}`
25
- let jsonString = JSON.stringify(objects.map(obj => {
26
- var newObj = Object.create(null);
27
- Object.keys(obj).forEach(key => {
28
- var newKey = convMemberName(key);
29
- newObj[newKey] = obj[key];
30
- })
31
- return newObj
32
- }));
33
-
34
- return jsonString;
35
-
36
- // // !!!必须开头没有空格
37
- // let temp = `%YAML 1.1
38
- // %TAG !u! tag:unity3d.com,2011:
39
- // --- !u!114 &11400000
40
- // MonoBehaviour:
41
- // m_ObjectHideFlags: 0
42
- // m_CorrespondingSourceObject: {fileID: 0}
43
- // m_PrefabInstance: {fileID: 0}
44
- // m_PrefabAsset: {fileID: 0}
45
- // m_GameObject: {fileID: 0}
46
- // m_Enabled: 1
47
- // m_EditorHideFlags: 0
48
- // m_Script: {fileID: 11500000, guid: 496f60086c072a8479a6e0b948efb5e8, type: 3}
49
- // m_Name: ${fullName}
50
- // m_EditorClassIdentifier:
51
- // JsonText: ${JSON.stringify(jsonString)}
52
- // `
53
- // return temp
54
-
55
- }
56
-
57
- export function exportUJsonLoader(paras: HandleSheetParams): string | null {
58
- let {
59
- datas,
60
- fields,
61
- name,
62
- objects,
63
- table,
64
- } = paras;
65
-
66
- let RowClass = firstLetterUpper(name)
67
- var fullName = `${table.workbookName}-${name}`
68
- // !!!必须开头没有空格
69
- let temp = `
70
- using UnityEngine.AddressableAssets;
71
- using System.Threading.Tasks;
72
- using UnityEngine;
73
- using lang.json;
74
-
75
- namespace MEEC.ExportedConfigs
76
- {
77
- public partial class ${RowClass}
78
- {
79
- public static async Task Load()
80
- {
81
- var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.json";
82
- var configJson =
83
- #if UNITY_EDITOR
84
- Application.isPlaying ? await Addressables.LoadAssetAsync<TextAsset>(loadUrl).Task
85
- : UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(loadUrl);
86
- #else
87
- await Addressables.LoadAssetAsync<TextAsset>(loadUrl).Task;
88
- #endif
89
- if (configJson != null)
90
- {
91
- var jsonObjs = JSON.parse<${RowClass}[]>(configJson.text);
92
- var configs = ${RowClass}.Configs;
93
- configs.Clear();
94
- configs.AddRange(jsonObjs);
95
- }
96
- else
97
- {
98
- Debug.LogError($"配表资源缺失: {loadUrl}");
99
- }
100
- }
101
-
102
- #if UNITY_EDITOR
103
- public static void LoadInEditor()
104
- {
105
- if (Application.isPlaying)
106
- {
107
- var tip = $"cannot load ${RowClass}[] with LoadInEditor at runtime";
108
- Debug.LogError(tip);
109
- throw new System.Exception(tip);
110
- }
111
- var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.json";
112
- var configJson = UnityEditor.AssetDatabase.LoadAssetAtPath<TextAsset>(loadUrl);
113
- if (configJson != null)
114
- {
115
- var jsonObjs = JSON.parse<${RowClass}[]>(configJson.text);
116
- var configs = ${RowClass}.Configs;
117
- configs.Clear();
118
- configs.AddRange(jsonObjs);
119
- }
120
- else
121
- {
122
- Debug.LogError($"配表资源缺失: {loadUrl}");
123
- }
124
- }
125
- #endif
126
- }
127
- }
128
- `
129
- return temp
130
-
131
- }
132
-
133
- export class ExportUJsonPlugin extends PluginBase {
134
- name = "ujson"
135
- tags: string[] = ["ujson"]
136
-
137
- handleSheet(paras: HandleSheetParams) {
138
- var fullName = `${paras.table.workbookName}-${paras.name}`
139
- {
140
- let content1 = exportUJsonLoader(paras)
141
- if (content1 != null) {
142
- let savePath = new OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath
143
- fs.outputFileSync(savePath, content1, "utf-8")
144
- }
145
- }
146
- {
147
- let content2 = exportUJson(paras)
148
- if (content2 != null) {
149
- let savePath = new OutFilePath(paras.outPath, fullName, ".json").fullPath
150
- fs.outputFileSync(savePath, content2, "utf-8")
151
- }
152
- return content2
153
- }
154
- }
155
-
156
- handleBatch(paras: HandleBatchParams): void {
157
- var tables = paras.tables;
158
- var temp = `
159
- using System;
160
- using System.Collections.Generic;
161
- using System.Threading.Tasks;
162
-
163
- namespace MEEC.ExportedConfigs
164
- {
165
- public static class DefaultConfigLoader{
166
- public static IEnumerable<Func<Task>> Load(){
167
- ${foreach(tables, (table) => `
168
- yield return ${firstLetterUpper(table.name)}.Load;
169
- `)}
170
- yield break;
171
- }
172
- }
173
- }
174
- `
175
- let savePath = paras.outPath + "/DefaultConfigLoader.cs";
176
- fs.outputFileSync(savePath, temp, "utf-8");
177
- }
178
- }
1
+
2
+ import { cmm, HandleSheetParams, Field, foreach, IPlugin, st, PluginBase, HandleBatchParams, OutFilePath } from "export-table-lib"
3
+ import * as fs from "fs-extra"
4
+
5
+ let firstLetterUpper = function (str: string) {
6
+ return str.charAt(0).toUpperCase() + str.slice(1);
7
+ };
8
+ export function exportUJson(paras: HandleSheetParams): string | null {
9
+ let {
10
+ datas,
11
+ fields,
12
+ name,
13
+ objects,
14
+ table,
15
+ } = paras;
16
+
17
+ let firstLetterLower = function (str: string) {
18
+ return str.charAt(0).toLowerCase() + str.slice(1);
19
+ };
20
+ let convMemberName = function (str: string) {
21
+ return str.split("_").map(s => firstLetterUpper(s)).join("")
22
+ }
23
+
24
+ var fullName = `${table.workbookName}-${name}`
25
+ let jsonString = JSON.stringify(objects.map(obj => {
26
+ var newObj = Object.create(null);
27
+ Object.keys(obj).forEach(key => {
28
+ var newKey = convMemberName(key);
29
+ newObj[newKey] = obj[key];
30
+ })
31
+ return newObj
32
+ }));
33
+
34
+ // !!!必须开头没有空格
35
+ let temp = `%YAML 1.1
36
+ %TAG !u! tag:unity3d.com,2011:
37
+ --- !u!114 &11400000
38
+ MonoBehaviour:
39
+ m_ObjectHideFlags: 0
40
+ m_CorrespondingSourceObject: {fileID: 0}
41
+ m_PrefabInstance: {fileID: 0}
42
+ m_PrefabAsset: {fileID: 0}
43
+ m_GameObject: {fileID: 0}
44
+ m_Enabled: 1
45
+ m_EditorHideFlags: 0
46
+ m_Script: {fileID: 11500000, guid: 496f60086c072a8479a6e0b948efb5e8, type: 3}
47
+ m_Name: ${fullName}
48
+ m_EditorClassIdentifier:
49
+ JsonText: ${JSON.stringify(jsonString)}
50
+ `
51
+ return temp
52
+
53
+ }
54
+
55
+ export function exportUJsonLoader(paras: HandleSheetParams): string | null {
56
+ let {
57
+ datas,
58
+ fields,
59
+ name,
60
+ objects,
61
+ table,
62
+ } = paras;
63
+
64
+ let RowClass = firstLetterUpper(name)
65
+ var fullName = `${table.workbookName}-${name}`
66
+ // !!!必须开头没有空格
67
+ let temp = `
68
+ using lang.json;
69
+ using UnityEngine.AddressableAssets;
70
+ using System.Threading.Tasks;
71
+ using UnityEngine;
72
+
73
+ namespace MEEC.ExportedConfigs
74
+ {
75
+ public partial class ${RowClass}
76
+ {
77
+ public static async Task Load()
78
+ {
79
+ var loadUrl="Assets/Bundles/GameConfigs/Auto/${fullName}.asset";
80
+ var configJson = await Addressables.LoadAssetAsync<ExcelConfigJson>(loadUrl).Task;
81
+ if (configJson != null)
82
+ {
83
+ var jsonObjs = JSON.parse<${RowClass}[]>(configJson.JsonText);
84
+ var configs = ${RowClass}.Configs;
85
+ configs.Clear();
86
+ configs.AddRange(jsonObjs);
87
+ }
88
+ else
89
+ {
90
+ Debug.LogError($"配表资源缺失: {loadUrl}");
91
+ }
92
+ }
93
+ }
94
+ }
95
+ `
96
+ return temp
97
+
98
+ }
99
+
100
+ export class ExportUJsonPlugin extends PluginBase {
101
+ name = "ujson"
102
+ tags: string[] = ["ujson"]
103
+
104
+ handleSheet(paras: HandleSheetParams) {
105
+ var fullName = `${paras.table.workbookName}-${paras.name}`
106
+ {
107
+ let content1 = exportUJsonLoader(paras)
108
+ if (content1 != null) {
109
+ let savePath = new OutFilePath(paras.outPath, fullName, "Loader.cs").fullPath
110
+ fs.outputFileSync(savePath, content1, "utf-8")
111
+ }
112
+ }
113
+ {
114
+ let content2 = exportUJson(paras)
115
+ if (content2 != null) {
116
+ let savePath = new OutFilePath(paras.outPath, fullName, ".asset").fullPath
117
+ fs.outputFileSync(savePath, content2, "utf-8")
118
+ }
119
+ return content2
120
+ }
121
+ }
122
+
123
+ handleBatch(paras: HandleBatchParams): void {
124
+ var tables = paras.tables;
125
+ var temp = `
126
+ using System;
127
+ using System.Collections.Generic;
128
+ using System.Threading.Tasks;
129
+
130
+ namespace MEEC.ExportedConfigs
131
+ {
132
+ public static class DefaultConfigLoader{
133
+ public static IEnumerable<Func<Task>> Load(){
134
+ ${foreach(tables, (table) => `
135
+ yield return ${firstLetterUpper(table.name)}.Load;
136
+ `)}
137
+ yield break;
138
+ }
139
+ }
140
+ }
141
+ `
142
+ let savePath = paras.outPath + "/DefaultConfigLoader.cs";
143
+ fs.outputFileSync(savePath, temp, "utf-8");
144
+ }
145
+ }
package/test/testCS.bat DELETED
@@ -1 +0,0 @@
1
- node E:\DATA\Projects\netease\quicktable\export-table\dist\launch.js export src dist --tags csharp:cs --libs E:\DATA\Projects\netease\quicktable %*
@@ -1 +0,0 @@
1
- node E:\DATA\Projects\netease\quicktable\export-table\dist\launch.js export src dist --tags csharp:ujson --libs E:\DATA\Projects\netease\quicktable %*