- extended ContentImporter to provide OutputType of imported content - provided a list of available ContentProcessors in current context PlatformSystems are no longer AddIns. This doesn't mean, that you can't load them dynamically. The handling is just different. There's only a single PlatformSystem available for each platform ANX runs on. This one is auto loaded. If it doesn't exist the game doesn't run. The reason for this is, that we will move the AddIn system from ANX.Framework to the specialized PlatformSystem. This is necessary because we want ANX.Framework to become platform independent. The AddIn system is different for some platforms (Android, iOS, Windows 8 Metro) and needs to be specialized. On the other hand we are able to simplify the AddIn system when moving it to the PlatformSystem because we don't need a big AddIn system supporting all platforms with much conditional compiling. THIS COMMIT DOES BREAK SOME FUNCTIONALITY. METRO DOESN'T WORK ANYMORE, AS IT IS NOT TESTED. DON'T USE THIS COMMIT IF YOU ARE NO ANX.FRAMEWORK DEVELOPER. We will catch up soon with a tested and working version.
105 lines
2.2 KiB
C#
105 lines
2.2 KiB
C#
using System;
|
|
|
|
// This file is part of the ANX.Framework created by the
|
|
// "ANX.Framework developer group" and released under the Ms-PL license.
|
|
// For details see: http://anxframework.codeplex.com/license
|
|
|
|
namespace ANX.Framework.NonXNA
|
|
{
|
|
//TODO: remove conditional compilation
|
|
public static class OSInformation
|
|
{
|
|
#region IsWindows
|
|
public static bool IsWindows
|
|
{
|
|
get
|
|
{
|
|
PlatformName name = GetName();
|
|
return name == PlatformName.Windows8 ||
|
|
name == PlatformName.Windows7 ||
|
|
name == PlatformName.WindowsVista ||
|
|
name == PlatformName.WindowsXP;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region GetName
|
|
public static PlatformName GetName()
|
|
{
|
|
#if WINDOWSMETRO
|
|
return PlatformName.Windows8;
|
|
#elif PSVITA
|
|
return PlatformName.PSVita;
|
|
#elif ANDROID
|
|
return PlatformName.Android;
|
|
#elif IOS
|
|
return PlatformName.IOS;
|
|
#elif LINUX
|
|
return PlatformName.Linux;
|
|
#elif MACOSX
|
|
return PlatformName.MacOSX;
|
|
#else
|
|
return DetermineEnvironmentPlatformName();
|
|
#endif
|
|
}
|
|
#endregion
|
|
|
|
#region GetVersion
|
|
public static Version GetVersion()
|
|
{
|
|
#if WINDOWSMETRO
|
|
// TODO: RuntimeEnvironment doesn't exist any more??
|
|
//return new Version(RuntimeEnvironment.GetSystemVersion());
|
|
return new Version(0, 0);
|
|
#else
|
|
return Environment.OSVersion.Version;
|
|
#endif
|
|
}
|
|
#endregion
|
|
|
|
#region GetVersionString
|
|
public static string GetVersionString()
|
|
{
|
|
#if WINDOWSMETRO
|
|
return "Win8";
|
|
#else
|
|
return Environment.OSVersion.VersionString;
|
|
#endif
|
|
}
|
|
#endregion
|
|
|
|
#region DetermineEnvironmentPlatformName
|
|
#if !WINDOWSMETRO
|
|
private static PlatformName DetermineEnvironmentPlatformName()
|
|
{
|
|
switch (Environment.OSVersion.Platform)
|
|
{
|
|
case PlatformID.MacOSX:
|
|
return PlatformName.MacOSX;
|
|
|
|
case PlatformID.Unix:
|
|
return PlatformName.Linux;
|
|
|
|
case PlatformID.Win32NT:
|
|
Version osVersion = GetVersion();
|
|
if (osVersion.Major >= 6)
|
|
{
|
|
if (osVersion.Minor == 0)
|
|
{
|
|
return PlatformName.WindowsVista;
|
|
}
|
|
|
|
return PlatformName.Windows7;
|
|
}
|
|
|
|
return PlatformName.WindowsXP;
|
|
|
|
default:
|
|
return PlatformName.Windows7;
|
|
}
|
|
}
|
|
#endif
|
|
#endregion
|
|
}
|
|
}
|