Konstantin Koch 8287c54432 Included the Visual Studio extension and made the necessary changes to make it run.
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.
2015-04-08 14:50:03 +02:00

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;
}
}
}
}