Replaced the old VS templates with ones that offer more flexiblity. Started replacing the Content Project for the samples with our custom project type. Inlcuded a basic not yet working AssimpImporter.
77 lines
2.2 KiB
C#
77 lines
2.2 KiB
C#
using EnvDTE;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ANX.Framework.VisualStudio
|
|
{
|
|
public static class Extensions
|
|
{
|
|
public static bool IsBuildAppDomain(this AppDomain appDomain)
|
|
{
|
|
return appDomain.FriendlyName.StartsWith("ANX Project");
|
|
}
|
|
|
|
public static Uri MakeRelativeUri(this Uri instance, IEnumerable<Uri> candidates)
|
|
{
|
|
if (candidates == null)
|
|
throw new ArgumentNullException("candidates");
|
|
|
|
Uri uri;
|
|
instance.TryMakeRelativeUri(candidates, out uri);
|
|
return uri;
|
|
}
|
|
|
|
public static Uri MakeRelativeUri(this Uri instance, params Uri[] candidates)
|
|
{
|
|
Uri uri;
|
|
instance.TryMakeRelativeUri(candidates, out uri);
|
|
return uri;
|
|
}
|
|
|
|
public static bool TryMakeRelativeUri(this Uri instance, IEnumerable<Uri> candidates, out Uri result)
|
|
{
|
|
if (candidates == null)
|
|
throw new ArgumentNullException("candidates");
|
|
|
|
if (!instance.IsAbsoluteUri)
|
|
{
|
|
result = instance;
|
|
return true;
|
|
}
|
|
|
|
foreach (Uri uri in candidates)
|
|
{
|
|
if (uri.IsBaseOf(instance))
|
|
{
|
|
result = uri.MakeRelativeUri(instance);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
result = instance;
|
|
return false;
|
|
}
|
|
|
|
public static IEnumerable<SolutionConfiguration> AsEnumerable(this SolutionConfigurations configurations)
|
|
{
|
|
var enumerator = configurations.GetEnumerator();
|
|
while (enumerator.MoveNext())
|
|
{
|
|
yield return (SolutionConfiguration)enumerator.Current;
|
|
}
|
|
}
|
|
|
|
public static IEnumerable<SolutionContext> AsEnumerable(this SolutionContexts contexts)
|
|
{
|
|
var enumerator = contexts.GetEnumerator();
|
|
while (enumerator.MoveNext())
|
|
{
|
|
yield return (SolutionContext)enumerator.Current;
|
|
}
|
|
}
|
|
}
|
|
}
|