1234567891011121314151617181920212223242526272829303132333435363738 |
- using System.IO;
- using UnityEditor;
- using UnityEngine;
- namespace LLM.Editor.Analysis
- {
- /// <summary>
- /// Provides the full text content of a C# script file.
- /// </summary>
- public class SourceCodeProvider : IContextProvider
- {
- public object GetContext(Object target, string qualifier)
- {
- string path = null;
- if (target is MonoScript script)
- {
- path = AssetDatabase.GetAssetPath(script);
- }
- else if (target != null)
- {
- path = AssetDatabase.GetAssetPath(target);
- }
- if (string.IsNullOrEmpty(path) || !path.EndsWith(".cs"))
- {
- return "Error: Target must be a MonoScript or a valid path to a C# file.";
- }
- if (!File.Exists(path))
- {
- return $"Error: File not found at path '{path}'.";
- }
- return File.ReadAllText(path);
- }
- }
- }
|