private void ParseFile(string filePath) { if (!filePath.EndsWith(".ts")) { return; } string modulePath; string[] classNames; if (UnityHelper.ResolveScriptRef(_baseDir, filePath, out modulePath, out classNames)) { foreach (var className in classNames) { var hint = new JSScriptClassPathHint(filePath, modulePath, className); _scriptClassPaths.Add(hint.ToClassPath(), hint); } } }
private void ParseFile(string filePath) { if (!filePath.EndsWith(_fileExt)) { return; } var results = new List <JSScriptClassPathHint>(); string normalizedPath; string modulePath; if (UnityHelper.ResolveScriptRef(_baseDir, filePath, out normalizedPath, out modulePath, results)) { List <string> list; if (_fullPathToClassPath.TryGetValue(normalizedPath, out list)) { foreach (var item in list) { _scriptClassPaths.Remove(item); } list.Clear(); } else { list = _fullPathToClassPath[normalizedPath] = new List <string>(); } var classTypes = JSScriptClassType.None; foreach (var result in results) { var classPath = result.ToClassPath(); list.Add(classPath); _scriptClassPaths[classPath] = result; classTypes |= result.classType; } ModuleSourceChanged?.Invoke(modulePath, classTypes); } }