1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-09 12:50:35 +00:00

C#: Enable nullable environment for GodotTools

This commit is contained in:
Thaddeus Crews
2024-01-12 22:24:12 -06:00
parent 9adb7c7d13
commit 3314f8cc65
47 changed files with 349 additions and 194 deletions

View File

@@ -34,22 +34,23 @@ EndProject";
@" {{{0}}}.{1}|Any CPU.ActiveCfg = {1}|Any CPU
{{{0}}}.{1}|Any CPU.Build.0 = {1}|Any CPU";
private string _directoryPath;
private readonly Dictionary<string, ProjectInfo> _projects = new Dictionary<string, ProjectInfo>();
public string Name { get; }
public string DirectoryPath
{
get => _directoryPath;
set => _directoryPath = value.IsAbsolutePath() ? value : Path.GetFullPath(value);
}
public string DirectoryPath { get; }
public class ProjectInfo
{
public string Guid;
public string PathRelativeToSolution;
public List<string> Configs = new List<string>();
public string Guid { get; }
public string PathRelativeToSolution { get; }
public List<string> Configs { get; }
public ProjectInfo(string guid, string pathRelativeToSolution, List<string> configs)
{
Guid = guid;
PathRelativeToSolution = pathRelativeToSolution;
Configs = configs;
}
}
public void AddNewProject(string name, ProjectInfo projectInfo)
@@ -117,9 +118,10 @@ EndProject";
File.WriteAllText(solutionPath, content, Encoding.UTF8); // UTF-8 with BOM
}
public DotNetSolution(string name)
public DotNetSolution(string name, string directoryPath)
{
Name = name;
DirectoryPath = directoryPath.IsAbsolutePath() ? directoryPath : Path.GetFullPath(directoryPath);
}
public static void MigrateFromOldConfigNames(string slnPath)