unity-agentic-tools 0.5.1 → 0.7.0
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/README.md +59 -97
- package/dist/animator-utils.d.ts +46 -0
- package/dist/animator-utils.d.ts.map +1 -0
- package/dist/animator-utils.js +161 -0
- package/dist/animator-utils.js.map +1 -0
- package/dist/bridge-install.d.ts +16 -0
- package/dist/bridge-install.d.ts.map +1 -0
- package/dist/bridge-install.js +94 -0
- package/dist/bridge-install.js.map +1 -0
- package/dist/build-settings.d.ts +43 -0
- package/dist/build-settings.d.ts.map +1 -0
- package/dist/build-settings.js +196 -0
- package/dist/build-settings.js.map +1 -0
- package/dist/build-version.d.ts +40 -0
- package/dist/build-version.d.ts.map +1 -0
- package/dist/build-version.js +114 -0
- package/dist/build-version.js.map +1 -0
- package/dist/class-ids.d.ts +30 -0
- package/dist/class-ids.d.ts.map +1 -0
- package/dist/class-ids.js +322 -0
- package/dist/class-ids.js.map +1 -0
- package/dist/cleanup.d.ts +21 -0
- package/dist/cleanup.d.ts.map +1 -0
- package/dist/cleanup.js +161 -0
- package/dist/cleanup.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1060 -8137
- package/dist/cli.js.map +1 -0
- package/dist/editor-client.d.ts +25 -0
- package/dist/editor-client.d.ts.map +1 -0
- package/dist/editor-client.js +458 -0
- package/dist/editor-client.js.map +1 -0
- package/dist/editor-discovery.d.ts +17 -0
- package/dist/editor-discovery.d.ts.map +1 -0
- package/dist/editor-discovery.js +248 -0
- package/dist/editor-discovery.js.map +1 -0
- package/dist/editor-transport.d.ts +30 -0
- package/dist/editor-transport.d.ts.map +1 -0
- package/dist/editor-transport.js +175 -0
- package/dist/editor-transport.js.map +1 -0
- package/dist/gitignore.d.ts +3 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +40 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +116 -8346
- package/dist/index.js.map +1 -0
- package/dist/loaded-protection.d.ts +6 -0
- package/dist/loaded-protection.d.ts.map +1 -0
- package/dist/loaded-protection.js +95 -0
- package/dist/loaded-protection.js.map +1 -0
- package/dist/packages.d.ts +55 -0
- package/dist/packages.d.ts.map +1 -0
- package/dist/packages.js +102 -0
- package/dist/packages.js.map +1 -0
- package/dist/params.d.ts +54 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +106 -0
- package/dist/params.js.map +1 -0
- package/dist/types.d.ts +167 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +7 -0
- package/dist/util.js.map +1 -0
- package/dist/utils.d.ts +82 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +291 -0
- package/dist/utils.js.map +1 -0
- package/package.json +10 -14
- package/dist/doc-indexer-cli.js +0 -3218
- package/native/index.d.ts +0 -335
- package/native/index.js +0 -330
- package/native/unity-file-tools.darwin-arm64.node +0 -0
- package/native/unity-file-tools.darwin-x64.node +0 -0
- package/native/unity-file-tools.linux-x64-gnu.node +0 -0
- package/native/unity-file-tools.win32-x64-msvc.node +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parse_editor_build_settings = parse_editor_build_settings;
|
|
37
|
+
exports.parse_build_profile = parse_build_profile;
|
|
38
|
+
exports.list_build_profiles = list_build_profiles;
|
|
39
|
+
exports.get_build_settings = get_build_settings;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const build_version_1 = require("./build-version");
|
|
43
|
+
/**
|
|
44
|
+
* Parse EditorBuildSettings.asset YAML file
|
|
45
|
+
*/
|
|
46
|
+
function parse_editor_build_settings(filePath) {
|
|
47
|
+
if (!fs.existsSync(filePath)) {
|
|
48
|
+
throw new Error(`EditorBuildSettings.asset not found: ${filePath}`);
|
|
49
|
+
}
|
|
50
|
+
// Normalize line endings (Windows CRLF -> LF)
|
|
51
|
+
const content = fs.readFileSync(filePath, 'utf-8').replace(/\r\n/g, '\n');
|
|
52
|
+
const scenes = [];
|
|
53
|
+
// Match scene entries in m_Scenes array
|
|
54
|
+
// Format:
|
|
55
|
+
// - enabled: 1
|
|
56
|
+
// path: Assets/Scenes/Main.unity
|
|
57
|
+
// guid: abc123...
|
|
58
|
+
const scenePattern = /-\s*enabled:\s*(\d+)\n\s+path:\s*([^\n]+)\n\s+guid:\s*([a-f0-9]+)/g;
|
|
59
|
+
let match;
|
|
60
|
+
let buildIndex = 0;
|
|
61
|
+
while ((match = scenePattern.exec(content)) !== null) {
|
|
62
|
+
const enabled = match[1] === '1';
|
|
63
|
+
const scenePath = match[2].trim();
|
|
64
|
+
const guid = match[3].trim();
|
|
65
|
+
if (scenePath) {
|
|
66
|
+
scenes.push({
|
|
67
|
+
enabled,
|
|
68
|
+
path: scenePath,
|
|
69
|
+
guid,
|
|
70
|
+
buildIndex: enabled ? buildIndex++ : -1,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return { scenes };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Parse a Build Profile .asset file (Unity 6+)
|
|
78
|
+
*/
|
|
79
|
+
function parse_build_profile(filePath) {
|
|
80
|
+
if (!fs.existsSync(filePath)) {
|
|
81
|
+
throw new Error(`Build profile not found: ${filePath}`);
|
|
82
|
+
}
|
|
83
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
84
|
+
const name = path.basename(filePath, '.asset');
|
|
85
|
+
const profile = {
|
|
86
|
+
name,
|
|
87
|
+
path: filePath,
|
|
88
|
+
};
|
|
89
|
+
// Extract platform if present
|
|
90
|
+
const platformMatch = content.match(/m_BuildTarget:\s*(\d+)/);
|
|
91
|
+
if (platformMatch) {
|
|
92
|
+
profile.platform = get_platform_name(parseInt(platformMatch[1], 10));
|
|
93
|
+
}
|
|
94
|
+
// Extract scripting defines if present
|
|
95
|
+
const definesMatch = content.match(/m_ScriptingDefines:\s*([^\n]+)/);
|
|
96
|
+
if (definesMatch && definesMatch[1].trim()) {
|
|
97
|
+
profile.scriptingDefines = definesMatch[1].trim().split(';').filter(d => d);
|
|
98
|
+
}
|
|
99
|
+
// Extract scene list if overridden
|
|
100
|
+
const scenes = [];
|
|
101
|
+
const scenePattern = /-\s*enabled:\s*(\d+)\n\s+path:\s*([^\n]+)\n\s+guid:\s*([a-f0-9]+)/g;
|
|
102
|
+
let match;
|
|
103
|
+
let buildIndex = 0;
|
|
104
|
+
while ((match = scenePattern.exec(content)) !== null) {
|
|
105
|
+
const enabled = match[1] === '1';
|
|
106
|
+
const scenePath = match[2].trim();
|
|
107
|
+
const guid = match[3].trim();
|
|
108
|
+
if (scenePath) {
|
|
109
|
+
scenes.push({
|
|
110
|
+
enabled,
|
|
111
|
+
path: scenePath,
|
|
112
|
+
guid,
|
|
113
|
+
buildIndex: enabled ? buildIndex++ : -1,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (scenes.length > 0) {
|
|
118
|
+
profile.scenes = scenes;
|
|
119
|
+
}
|
|
120
|
+
return profile;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Convert Unity BuildTarget enum to platform name
|
|
124
|
+
*/
|
|
125
|
+
function get_platform_name(buildTarget) {
|
|
126
|
+
const platforms = {
|
|
127
|
+
1: 'StandaloneOSX',
|
|
128
|
+
2: 'StandaloneWindows',
|
|
129
|
+
5: 'iOS',
|
|
130
|
+
9: 'Android',
|
|
131
|
+
13: 'StandaloneWindows64',
|
|
132
|
+
19: 'WebGL',
|
|
133
|
+
21: 'StandaloneLinux64',
|
|
134
|
+
24: 'PS4',
|
|
135
|
+
25: 'XboxOne',
|
|
136
|
+
27: 'tvOS',
|
|
137
|
+
31: 'Switch',
|
|
138
|
+
38: 'PS5',
|
|
139
|
+
};
|
|
140
|
+
return platforms[buildTarget] || `Unknown(${buildTarget})`;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* List all build profiles in a Unity 6+ project
|
|
144
|
+
*/
|
|
145
|
+
function list_build_profiles(projectPath) {
|
|
146
|
+
const profilesPath = path.join(projectPath, 'Assets', 'Settings', 'Build Profiles');
|
|
147
|
+
if (!fs.existsSync(profilesPath)) {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
const profiles = [];
|
|
151
|
+
const files = fs.readdirSync(profilesPath);
|
|
152
|
+
for (const file of files) {
|
|
153
|
+
if (file.endsWith('.asset')) {
|
|
154
|
+
const filePath = path.join(profilesPath, file);
|
|
155
|
+
try {
|
|
156
|
+
profiles.push(parse_build_profile(filePath));
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
// Skip invalid profiles
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return profiles;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get complete build settings for a Unity project
|
|
167
|
+
*/
|
|
168
|
+
function get_build_settings(projectPath) {
|
|
169
|
+
const projectInfo = (0, build_version_1.get_project_info)(projectPath);
|
|
170
|
+
const editorBuildSettingsPath = path.join(projectPath, 'ProjectSettings', 'EditorBuildSettings.asset');
|
|
171
|
+
const editorBuildSettings = parse_editor_build_settings(editorBuildSettingsPath);
|
|
172
|
+
const annotatedEditorScenes = annotate_scene_existence(projectPath, editorBuildSettings.scenes);
|
|
173
|
+
const buildProfiles = list_build_profiles(projectPath).map((profile) => ({
|
|
174
|
+
...profile,
|
|
175
|
+
scenes: profile.scenes ? annotate_scene_existence(projectPath, profile.scenes) : undefined,
|
|
176
|
+
}));
|
|
177
|
+
const missingScenes = annotatedEditorScenes
|
|
178
|
+
.filter((scene) => scene.exists === false)
|
|
179
|
+
.map((scene) => scene.path);
|
|
180
|
+
return {
|
|
181
|
+
projectInfo,
|
|
182
|
+
editorBuildSettings: {
|
|
183
|
+
...editorBuildSettings,
|
|
184
|
+
scenes: annotatedEditorScenes,
|
|
185
|
+
},
|
|
186
|
+
buildProfiles,
|
|
187
|
+
...(missingScenes.length > 0 ? { missingScenes } : {}),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function annotate_scene_existence(projectPath, scenes) {
|
|
191
|
+
return scenes.map((scene) => ({
|
|
192
|
+
...scene,
|
|
193
|
+
exists: fs.existsSync(path.join(projectPath, scene.path)),
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=build-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-settings.js","sourceRoot":"","sources":["../src/build-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface UnityVersion {
|
|
2
|
+
raw: string;
|
|
3
|
+
major: number;
|
|
4
|
+
minor: number;
|
|
5
|
+
patch: number;
|
|
6
|
+
releaseType: string;
|
|
7
|
+
revision: number;
|
|
8
|
+
fullRevision?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface UnityProjectInfo {
|
|
11
|
+
projectPath: string;
|
|
12
|
+
version: UnityVersion;
|
|
13
|
+
isUnity6OrLater: boolean;
|
|
14
|
+
hasBuildProfiles: boolean;
|
|
15
|
+
buildProfilesPath?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Parse Unity version string into components
|
|
19
|
+
*/
|
|
20
|
+
export declare function parse_version(versionString: string): UnityVersion;
|
|
21
|
+
/**
|
|
22
|
+
* Check if version is Unity 6 or later (major >= 6000)
|
|
23
|
+
*/
|
|
24
|
+
export declare function is_unity6_or_later(version: UnityVersion): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Read Unity project version from ProjectVersion.txt
|
|
27
|
+
*/
|
|
28
|
+
export declare function read_project_version(projectPath: string): UnityVersion;
|
|
29
|
+
/**
|
|
30
|
+
* Check if Unity project has Build Profiles (Unity 6+)
|
|
31
|
+
*/
|
|
32
|
+
export declare function has_build_profiles(projectPath: string): {
|
|
33
|
+
exists: boolean;
|
|
34
|
+
path: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Get complete Unity project info
|
|
38
|
+
*/
|
|
39
|
+
export declare function get_project_info(projectPath: string): UnityProjectInfo;
|
|
40
|
+
//# sourceMappingURL=build-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-version.d.ts","sourceRoot":"","sources":["../src/build-version.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAgBjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CAyBtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAWtE"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parse_version = parse_version;
|
|
37
|
+
exports.is_unity6_or_later = is_unity6_or_later;
|
|
38
|
+
exports.read_project_version = read_project_version;
|
|
39
|
+
exports.has_build_profiles = has_build_profiles;
|
|
40
|
+
exports.get_project_info = get_project_info;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
/**
|
|
44
|
+
* Parse Unity version string into components
|
|
45
|
+
*/
|
|
46
|
+
function parse_version(versionString) {
|
|
47
|
+
// Match patterns like "2022.3.15f1" or "6000.0.23f1"
|
|
48
|
+
const match = versionString.match(/^(\d+)\.(\d+)\.(\d+)([abfp])(\d+)$/);
|
|
49
|
+
if (!match) {
|
|
50
|
+
throw new Error(`Invalid Unity version format: ${versionString}`);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
raw: versionString,
|
|
54
|
+
major: parseInt(match[1], 10),
|
|
55
|
+
minor: parseInt(match[2], 10),
|
|
56
|
+
patch: parseInt(match[3], 10),
|
|
57
|
+
releaseType: match[4],
|
|
58
|
+
revision: parseInt(match[5], 10),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if version is Unity 6 or later (major >= 6000)
|
|
63
|
+
*/
|
|
64
|
+
function is_unity6_or_later(version) {
|
|
65
|
+
return version.major >= 6000;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Read Unity project version from ProjectVersion.txt
|
|
69
|
+
*/
|
|
70
|
+
function read_project_version(projectPath) {
|
|
71
|
+
const versionFile = path.join(projectPath, 'ProjectSettings', 'ProjectVersion.txt');
|
|
72
|
+
if (!fs.existsSync(versionFile)) {
|
|
73
|
+
throw new Error(`ProjectVersion.txt not found at: ${versionFile}`);
|
|
74
|
+
}
|
|
75
|
+
// Normalize line endings (Windows CRLF -> LF)
|
|
76
|
+
const content = fs.readFileSync(versionFile, 'utf-8').replace(/\r\n/g, '\n');
|
|
77
|
+
// Parse m_EditorVersion: 6000.0.23f1
|
|
78
|
+
const versionMatch = content.match(/m_EditorVersion:\s*(.+)/);
|
|
79
|
+
if (!versionMatch) {
|
|
80
|
+
throw new Error('Could not parse m_EditorVersion from ProjectVersion.txt');
|
|
81
|
+
}
|
|
82
|
+
const version = parse_version(versionMatch[1].trim());
|
|
83
|
+
// Try to get full revision if available
|
|
84
|
+
const revisionMatch = content.match(/m_EditorVersionWithRevision:\s*(.+)/);
|
|
85
|
+
if (revisionMatch) {
|
|
86
|
+
version.fullRevision = revisionMatch[1].trim();
|
|
87
|
+
}
|
|
88
|
+
return version;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if Unity project has Build Profiles (Unity 6+)
|
|
92
|
+
*/
|
|
93
|
+
function has_build_profiles(projectPath) {
|
|
94
|
+
const profilesPath = path.join(projectPath, 'Assets', 'Settings', 'Build Profiles');
|
|
95
|
+
return {
|
|
96
|
+
exists: fs.existsSync(profilesPath),
|
|
97
|
+
path: profilesPath,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get complete Unity project info
|
|
102
|
+
*/
|
|
103
|
+
function get_project_info(projectPath) {
|
|
104
|
+
const version = read_project_version(projectPath);
|
|
105
|
+
const buildProfiles = has_build_profiles(projectPath);
|
|
106
|
+
return {
|
|
107
|
+
projectPath,
|
|
108
|
+
version,
|
|
109
|
+
isUnity6OrLater: is_unity6_or_later(version),
|
|
110
|
+
hasBuildProfiles: buildProfiles.exists,
|
|
111
|
+
buildProfilesPath: buildProfiles.exists ? buildProfiles.path : undefined,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=build-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-version.js","sourceRoot":"","sources":["../src/build-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unity Class IDs - comprehensive mapping of class ID to component name.
|
|
3
|
+
* Reference: https://docs.unity3d.com/Manual/ClassIDReference.html
|
|
4
|
+
*/
|
|
5
|
+
export declare const UNITY_CLASS_IDS: Record<number, string>;
|
|
6
|
+
/**
|
|
7
|
+
* Reverse lookup: component name to class ID.
|
|
8
|
+
*/
|
|
9
|
+
export declare const UNITY_CLASS_NAMES: Record<string, number>;
|
|
10
|
+
/**
|
|
11
|
+
* Get component name from class ID.
|
|
12
|
+
*/
|
|
13
|
+
export declare function get_class_id_name(class_id: number): string;
|
|
14
|
+
/**
|
|
15
|
+
* Get class ID from component name (case-insensitive).
|
|
16
|
+
*/
|
|
17
|
+
export declare function get_class_id(component_name: string): number | null;
|
|
18
|
+
/**
|
|
19
|
+
* Get the class ID for a Unity type that can appear on a GameObject.
|
|
20
|
+
*/
|
|
21
|
+
export declare function get_component_class_id(component_name: string): number | null;
|
|
22
|
+
/**
|
|
23
|
+
* Get the class ID for a built-in component that can be added to a GameObject.
|
|
24
|
+
*/
|
|
25
|
+
export declare function get_addable_component_class_id(component_name: string): number | null;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a component name is a known Unity built-in type.
|
|
28
|
+
*/
|
|
29
|
+
export declare function is_builtin_component(component_name: string): boolean;
|
|
30
|
+
//# sourceMappingURL=class-ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-ids.d.ts","sourceRoot":"","sources":["../src/class-ids.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoNlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AA6EF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAEpE"}
|