internal static string FindGameClass(ProjectBase projectBase)
{
foreach (var bi in projectBase.EvaluatedItems)
{
if (bi.ItemType == "Compile" && bi.UnevaluatedInclude.EndsWith(".cs") && !bi.UnevaluatedInclude.EndsWith("Generated.cs") &&
!bi.UnevaluatedInclude.StartsWith("Entities\\") &&
!bi.UnevaluatedInclude.StartsWith("Screens\\")
)
{
if (FileManager.FileExists(bi.UnevaluatedInclude))
{
if ((CodeParser.InheritsFrom(bi.UnevaluatedInclude, "Game") ||
CodeParser.InheritsFrom(bi.UnevaluatedInclude, "Microsoft.Xna.Framework.Game")))
{
return bi.UnevaluatedInclude;
}
if (GlueProjectSave != null &&
!string.IsNullOrEmpty(GlueProjectSave.CustomGameClass) &&
CodeParser.InheritsFrom(bi.UnevaluatedInclude, GlueProjectSave.CustomGameClass))
{
return bi.UnevaluatedInclude;
}
}
}
}
return null;
}