From 933ef7cae6c1d1e4fa692c2318d29eef05329b12 Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Tue, 18 Sep 2012 05:53:08 +0000 Subject: [PATCH] - extended ContentPipeline ProcessorManager with method to select a default processor for a importer or imported type - 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. --- .../ContentImporter.cs | 15 +- .../IContentImporter.cs | 2 + .../Importer/WavImporter.cs | 4 +- .../Tasks/ProcessorManager.cs | 22 ++- ANX.Framework/ANX.Framework.csproj | 4 +- ANX.Framework/Audio/AudioEngine.cs | 5 +- ANX.Framework/Content/ContentManager.cs | 3 +- ANX.Framework/Game.cs | 7 +- ANX.Framework/GameTimer.cs | 2 +- ANX.Framework/Media/MediaLibrary.cs | 4 +- ANX.Framework/Media/MediaSource.cs | 3 +- ANX.Framework/NonXNA/AddInSystemFactory.cs | 8 - ANX.Framework/NonXNA/AddInType.cs | 1 - ANX.Framework/NonXNA/OSInformation.cs | 1 + ...ormSystemCreator.cs => IPlatformSystem.cs} | 2 +- .../NonXNA/PlatformSystem/PlatformSystem.cs | 181 ++++++++++++++++++ .../PlatformSystemInstanceException.cs | 24 +++ ANX.Framework/Storage/StorageContainer.cs | 3 +- ANX.Framework/Storage/StorageDevice.cs | 4 +- ANX.Framework/TitleContainer.cs | 21 +- .../ANX.PlatformSystem.Linux.csproj | 2 +- ...tformCreator.cs => LinuxPlatformSystem.cs} | 31 +-- .../Properties/AssemblyInfo.cs | 2 +- .../Properties/AssemblyInfo.cs | 2 +- .../PsVitaPlatformCreator.cs | 29 +-- .../ANX.PlatformSystem.Windows.csproj | 2 +- .../Properties/AssemblyInfo.cs | 2 +- ...ormCreator.cs => WindowsPlatformSystem.cs} | 31 +-- 28 files changed, 290 insertions(+), 127 deletions(-) rename ANX.Framework/NonXNA/PlatformSystem/{IPlatformSystemCreator.cs => IPlatformSystem.cs} (91%) create mode 100644 ANX.Framework/NonXNA/PlatformSystem/PlatformSystem.cs create mode 100644 ANX.Framework/NonXNA/PlatformSystem/PlatformSystemInstanceException.cs rename PlatformSystems/ANX.PlatformSystem.Linux/{LinuxPlatformCreator.cs => LinuxPlatformSystem.cs} (77%) rename PlatformSystems/ANX.PlatformSystem.Windows/{WindowsPlatformCreator.cs => WindowsPlatformSystem.cs} (78%) diff --git a/ANX.Framework.Content.Pipeline/ContentImporter.cs b/ANX.Framework.Content.Pipeline/ContentImporter.cs index 23132bc5..72d09119 100644 --- a/ANX.Framework.Content.Pipeline/ContentImporter.cs +++ b/ANX.Framework.Content.Pipeline/ContentImporter.cs @@ -1,4 +1,9 @@ -// This file is part of the ANX.Framework created by the +#region Using Statements +using System; + +#endregion + +// 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 @@ -13,6 +18,14 @@ namespace ANX.Framework.Content.Pipeline public abstract T Import(string filename, ContentImporterContext context); + public Type OutputType + { + get + { + return typeof(T); + } + } + object IContentImporter.Import(string filename, ContentImporterContext context) { return this.Import(filename, context); diff --git a/ANX.Framework.Content.Pipeline/IContentImporter.cs b/ANX.Framework.Content.Pipeline/IContentImporter.cs index bf98339c..95157b8a 100644 --- a/ANX.Framework.Content.Pipeline/IContentImporter.cs +++ b/ANX.Framework.Content.Pipeline/IContentImporter.cs @@ -12,5 +12,7 @@ namespace ANX.Framework.Content.Pipeline public interface IContentImporter { Object Import(string filename, ContentImporterContext context); + + Type OutputType { get; } } } diff --git a/ANX.Framework.Content.Pipeline/Importer/WavImporter.cs b/ANX.Framework.Content.Pipeline/Importer/WavImporter.cs index b4daa73b..61ba905d 100644 --- a/ANX.Framework.Content.Pipeline/Importer/WavImporter.cs +++ b/ANX.Framework.Content.Pipeline/Importer/WavImporter.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using ANX.Framework.Content.Pipeline.Audio; using WaveUtils; @@ -24,5 +25,6 @@ namespace ANX.Framework.Content.Pipeline.Importer FileType = AudioFileType.Wav, }; } + } } diff --git a/ANX.Framework.Content.Pipeline/Tasks/ProcessorManager.cs b/ANX.Framework.Content.Pipeline/Tasks/ProcessorManager.cs index 116a7e22..523dd34e 100644 --- a/ANX.Framework.Content.Pipeline/Tasks/ProcessorManager.cs +++ b/ANX.Framework.Content.Pipeline/Tasks/ProcessorManager.cs @@ -15,7 +15,7 @@ namespace ANX.Framework.Content.Pipeline.Tasks { public class ProcessorManager { - private Dictionary processors = new Dictionary(); + private Dictionary processors = new Dictionary(); public ProcessorManager() { @@ -45,7 +45,7 @@ namespace ANX.Framework.Content.Pipeline.Tasks public String GetProcessorForType(Type type) { - foreach (KeyValuePair processorDescription in processors) + foreach (KeyValuePair processorDescription in processors) { if (Type.Equals(processorDescription.Value.InputType, type)) { @@ -53,7 +53,23 @@ namespace ANX.Framework.Content.Pipeline.Tasks } } - return String.Empty; + return string.Empty; + } + + public string GetProcessorForImporter(IContentImporter contentImporter) + { + return GetProcessorForType(contentImporter.OutputType); + } + + public IEnumerable> AvailableProcessors + { + get + { + foreach (KeyValuePair kvp in processors) + { + yield return kvp; + } + } } } } diff --git a/ANX.Framework/ANX.Framework.csproj b/ANX.Framework/ANX.Framework.csproj index 8df925d2..4a863414 100644 --- a/ANX.Framework/ANX.Framework.csproj +++ b/ANX.Framework/ANX.Framework.csproj @@ -439,6 +439,8 @@ + + @@ -449,7 +451,7 @@ - + diff --git a/ANX.Framework/Audio/AudioEngine.cs b/ANX.Framework/Audio/AudioEngine.cs index 7b14bd23..98c4c0bf 100644 --- a/ANX.Framework/Audio/AudioEngine.cs +++ b/ANX.Framework/Audio/AudioEngine.cs @@ -5,6 +5,7 @@ using System.IO; using ANX.Framework.Audio.XactParser; using ANX.Framework.NonXNA; using ANX.Framework.NonXNA.Development; +using ANX.Framework.NonXNA.PlatformSystem; // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. @@ -47,7 +48,7 @@ namespace ANX.Framework.Audio // TODO: get renderer details RendererDetails = new ReadOnlyCollection(new List()); - Stream loadingStream = AddInSystemFactory.DefaultPlatformCreator.OpenReadFilestream(settingsFile); + Stream loadingStream = PlatformSystem.Instance.OpenReadFilestream(settingsFile); generalSettings = new XactGeneralSettings(loadingStream); loadingStream.Dispose(); } @@ -59,7 +60,7 @@ namespace ANX.Framework.Audio // TODO: lookAheadTime and rendererId - Stream loadingStream = AddInSystemFactory.DefaultPlatformCreator.OpenReadFilestream(settingsFile); + Stream loadingStream = PlatformSystem.Instance.OpenReadFilestream(settingsFile); generalSettings = new XactGeneralSettings(loadingStream); loadingStream.Dispose(); } diff --git a/ANX.Framework/Content/ContentManager.cs b/ANX.Framework/Content/ContentManager.cs index dcac227d..b6dc7348 100644 --- a/ANX.Framework/Content/ContentManager.cs +++ b/ANX.Framework/Content/ContentManager.cs @@ -66,8 +66,7 @@ namespace ANX.Framework.Content #region Constructor private ContentManager() { - nativeImplementation = - AddInSystemFactory.DefaultPlatformCreator.CreateContentManager(); + nativeImplementation = PlatformSystem.Instance.CreateContentManager(); loadedAssets = new Dictionary(StringComparer.OrdinalIgnoreCase); diff --git a/ANX.Framework/Game.cs b/ANX.Framework/Game.cs index 3f2ede90..3f3183ce 100644 --- a/ANX.Framework/Game.cs +++ b/ANX.Framework/Game.cs @@ -76,7 +76,6 @@ namespace ANX.Framework AddSystemCreator(); AddSystemCreator(); - AddSystemCreator(); AddSystemCreator(); CreateGameHost(); @@ -114,11 +113,7 @@ namespace ANX.Framework private void CreateGameHost() { Logger.Info("creating GameHost"); - var creator = AddInSystemFactory.Instance.GetDefaultCreator(); - if (creator == null) - Logger.ErrorAndThrow("Could not fetch PlatformSystem creator to create a game host."); - - host = creator.CreateGameHost(this); + host = PlatformSystem.Instance.CreateGameHost(this); host.Activated += HostActivated; host.Deactivated += HostDeactivated; diff --git a/ANX.Framework/GameTimer.cs b/ANX.Framework/GameTimer.cs index 51752b3c..96d86075 100644 --- a/ANX.Framework/GameTimer.cs +++ b/ANX.Framework/GameTimer.cs @@ -20,7 +20,7 @@ namespace ANX.Framework public GameTimer() { - nativeImplementation = AddInSystemFactory.DefaultPlatformCreator.CreateGameTimer(); + nativeImplementation = PlatformSystem.Instance.CreateGameTimer(); nativeImplementation.Reset(); lastUpdate = nativeImplementation.ElapsedTime; diff --git a/ANX.Framework/Media/MediaLibrary.cs b/ANX.Framework/Media/MediaLibrary.cs index c0b8b8a1..f359c197 100644 --- a/ANX.Framework/Media/MediaLibrary.cs +++ b/ANX.Framework/Media/MediaLibrary.cs @@ -94,13 +94,13 @@ namespace ANX.Framework.Media #region Constructor public MediaLibrary() { - nativeLibrary = AddInSystemFactory.DefaultPlatformCreator.CreateMediaPlayer(); + nativeLibrary = PlatformSystem.Instance.CreateMediaPlayer(); MediaSource = MediaSource.GetAvailableMediaSources()[0]; } public MediaLibrary(MediaSource setSource) { - nativeLibrary = AddInSystemFactory.DefaultPlatformCreator.CreateMediaPlayer(); + nativeLibrary = PlatformSystem.Instance.CreateMediaPlayer(); MediaSource = setSource; } diff --git a/ANX.Framework/Media/MediaSource.cs b/ANX.Framework/Media/MediaSource.cs index a8a4b3ff..6d383f7c 100644 --- a/ANX.Framework/Media/MediaSource.cs +++ b/ANX.Framework/Media/MediaSource.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using ANX.Framework.NonXNA; +using ANX.Framework.NonXNA.PlatformSystem; // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. @@ -35,7 +36,7 @@ namespace ANX.Framework.Media #region Constructor public static IList GetAvailableMediaSources() { - return AddInSystemFactory.DefaultPlatformCreator.GetAvailableMediaSources(); + return PlatformSystem.Instance.GetAvailableMediaSources(); } #endregion diff --git a/ANX.Framework/NonXNA/AddInSystemFactory.cs b/ANX.Framework/NonXNA/AddInSystemFactory.cs index a769b9fb..251480dd 100644 --- a/ANX.Framework/NonXNA/AddInSystemFactory.cs +++ b/ANX.Framework/NonXNA/AddInSystemFactory.cs @@ -18,7 +18,6 @@ namespace ANX.Framework.NonXNA typeof(IInputSystemCreator), typeof(IRenderSystemCreator), typeof(ISoundSystemCreator), - typeof(IPlatformSystemCreator), }; #endregion @@ -44,13 +43,6 @@ namespace ANX.Framework.NonXNA } } - internal static IPlatformSystemCreator DefaultPlatformCreator - { - get - { - return Instance.GetDefaultCreator(); - } - } #endregion #region Constructor diff --git a/ANX.Framework/NonXNA/AddInType.cs b/ANX.Framework/NonXNA/AddInType.cs index d51c6ab7..49019b4e 100644 --- a/ANX.Framework/NonXNA/AddInType.cs +++ b/ANX.Framework/NonXNA/AddInType.cs @@ -10,6 +10,5 @@ namespace ANX.Framework.NonXNA RenderSystem, InputSystem, SoundSystem, - PlatformSystem, } } diff --git a/ANX.Framework/NonXNA/OSInformation.cs b/ANX.Framework/NonXNA/OSInformation.cs index cb0127af..ec1a8398 100644 --- a/ANX.Framework/NonXNA/OSInformation.cs +++ b/ANX.Framework/NonXNA/OSInformation.cs @@ -6,6 +6,7 @@ using System; namespace ANX.Framework.NonXNA { + //TODO: remove conditional compilation public static class OSInformation { #region IsWindows diff --git a/ANX.Framework/NonXNA/PlatformSystem/IPlatformSystemCreator.cs b/ANX.Framework/NonXNA/PlatformSystem/IPlatformSystem.cs similarity index 91% rename from ANX.Framework/NonXNA/PlatformSystem/IPlatformSystemCreator.cs rename to ANX.Framework/NonXNA/PlatformSystem/IPlatformSystem.cs index e52b4e57..cacba90a 100644 --- a/ANX.Framework/NonXNA/PlatformSystem/IPlatformSystemCreator.cs +++ b/ANX.Framework/NonXNA/PlatformSystem/IPlatformSystem.cs @@ -9,7 +9,7 @@ using ANX.Framework.Storage; namespace ANX.Framework.NonXNA.PlatformSystem { - public interface IPlatformSystemCreator : ICreator + public interface IPlatformSystem { GameHost CreateGameHost(Game game); INativeStorageDevice CreateStorageDevice(StorageDevice device, PlayerIndex player, int sizeInBytes, int directoryCount); diff --git a/ANX.Framework/NonXNA/PlatformSystem/PlatformSystem.cs b/ANX.Framework/NonXNA/PlatformSystem/PlatformSystem.cs new file mode 100644 index 00000000..92205e6a --- /dev/null +++ b/ANX.Framework/NonXNA/PlatformSystem/PlatformSystem.cs @@ -0,0 +1,181 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.Media; +using System.IO; +using ANX.Framework.Storage; +using System.Reflection; +using ANX.Framework.NonXNA.Reflection; + +#endregion + +// 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.PlatformSystem +{ + internal class PlatformSystem : IPlatformSystem + { + private static PlatformSystem singletonInstance; + private static IPlatformSystem runtimeInstance; + + private const string prefix = "ANX.PlatformSystem."; + private const string suffix = ".dll"; + + private PlatformSystem() + { + runtimeInstance = CreateRuntimeInstance(OSInformation.GetName()); + } + + private IPlatformSystem CreateRuntimeInstance(PlatformName platform) + { + string platformAssemblyName = string.Empty; + + try + { + platformAssemblyName = GetPlatformAssemblyName(platform); + } + catch (PlatformSystemInstanceException ex) + { + Logger.Error(ex.Message); + return null; + } + + Assembly assembly = Assembly.LoadFrom(platformAssemblyName); + + foreach (Type type in assembly.GetExportedTypes()) + { + if (TypeHelper.IsTypeAssignableFrom(typeof(IPlatformSystem), type)) + { + return TypeHelper.Create(type); + } + } + + return null; + } + + private string GetPlatformAssemblyName(PlatformName platform) + { + switch (platform) + { + case PlatformName.Windows7: + case PlatformName.WindowsVista: + case PlatformName.WindowsXP: + return prefix + "Windows" + suffix; + case PlatformName.Linux: + case PlatformName.PSVita: + return prefix + platform.ToString() + suffix; + case PlatformName.Windows8: + return prefix + "Metro" + suffix; + default: + throw new PlatformSystemInstanceException("couldn't solve assembly name for platform '" + platform.ToString() + "'"); + } + } + + public static PlatformSystem Instance + { + get + { + if (singletonInstance == null) + { + singletonInstance = new PlatformSystem(); + } + + return singletonInstance; + } + } + + public GameHost CreateGameHost(Game game) + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateGameHost(game); + } + + public INativeStorageDevice CreateStorageDevice(StorageDevice device, PlayerIndex player, int sizeInBytes, int directoryCount) + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateStorageDevice(device, player, sizeInBytes, directoryCount); + } + + public INativeStorageContainer CreateStorageContainer(StorageContainer container) + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateStorageContainer(container); + } + + public INativeTitleContainer CreateTitleContainer() + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateTitleContainer(); + } + + public INativeGameTimer CreateGameTimer() + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateGameTimer(); + } + + public INativeContentManager CreateContentManager() + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateContentManager(); + } + + public Stream OpenReadFilestream(string filepath) + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.OpenReadFilestream(filepath); + } + + public INativeMediaLibrary CreateMediaPlayer() + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.CreateMediaPlayer(); + } + + public IList GetAvailableMediaSources() + { + if (runtimeInstance == null) + { + throw new PlatformSystemInstanceException(); + } + + return runtimeInstance.GetAvailableMediaSources(); + } + } +} diff --git a/ANX.Framework/NonXNA/PlatformSystem/PlatformSystemInstanceException.cs b/ANX.Framework/NonXNA/PlatformSystem/PlatformSystemInstanceException.cs new file mode 100644 index 00000000..8397f8a1 --- /dev/null +++ b/ANX.Framework/NonXNA/PlatformSystem/PlatformSystemInstanceException.cs @@ -0,0 +1,24 @@ +#region Using Statements +using System; + +#endregion + +// 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.PlatformSystem +{ + public class PlatformSystemInstanceException : Exception + { + public PlatformSystemInstanceException() + : base() + { + } + + public PlatformSystemInstanceException(string message) + : base(message) + { + } + } +} diff --git a/ANX.Framework/Storage/StorageContainer.cs b/ANX.Framework/Storage/StorageContainer.cs index db0fb790..ba8da231 100644 --- a/ANX.Framework/Storage/StorageContainer.cs +++ b/ANX.Framework/Storage/StorageContainer.cs @@ -41,8 +41,7 @@ namespace ANX.Framework.Storage StorageDevice = device; DisplayName = displayName; - nativeImplementation = - AddInSystemFactory.DefaultPlatformCreator.CreateStorageContainer(this); + nativeImplementation = PlatformSystem.Instance.CreateStorageContainer(this); } ~StorageContainer() diff --git a/ANX.Framework/Storage/StorageDevice.cs b/ANX.Framework/Storage/StorageDevice.cs index 0f67874a..c0290120 100644 --- a/ANX.Framework/Storage/StorageDevice.cs +++ b/ANX.Framework/Storage/StorageDevice.cs @@ -63,9 +63,7 @@ namespace ANX.Framework.Storage #region Constructor internal StorageDevice(PlayerIndex player, int sizeInBytes, int directoryCount) { - nativeImplementation = - AddInSystemFactory.DefaultPlatformCreator.CreateStorageDevice( - this, player, sizeInBytes, directoryCount); + nativeImplementation = PlatformSystem.Instance.CreateStorageDevice(this, player, sizeInBytes, directoryCount); } #endregion diff --git a/ANX.Framework/TitleContainer.cs b/ANX.Framework/TitleContainer.cs index 61e2e8ae..4bb6c08f 100644 --- a/ANX.Framework/TitleContainer.cs +++ b/ANX.Framework/TitleContainer.cs @@ -18,16 +18,35 @@ namespace ANX.Framework static TitleContainer() { - nativeImplementation = AddInSystemFactory.DefaultPlatformCreator.CreateTitleContainer(); + try + { + nativeImplementation = PlatformSystem.Instance.CreateTitleContainer(); + } + catch (PlatformSystemInstanceException ex) + { + //TODO: error handling + } } public static Stream OpenStream(string name) { + if (nativeImplementation == null) + { + //TODO: error handling + return null; + } + return nativeImplementation.OpenStream(name); } internal static string GetCleanPath(string path) { + if (nativeImplementation == null) + { + //TODO: error handling + return null; + } + return nativeImplementation.GetCleanPath(path); } } diff --git a/PlatformSystems/ANX.PlatformSystem.Linux/ANX.PlatformSystem.Linux.csproj b/PlatformSystems/ANX.PlatformSystem.Linux/ANX.PlatformSystem.Linux.csproj index 86d4284b..489f2d70 100644 --- a/PlatformSystems/ANX.PlatformSystem.Linux/ANX.PlatformSystem.Linux.csproj +++ b/PlatformSystems/ANX.PlatformSystem.Linux/ANX.PlatformSystem.Linux.csproj @@ -41,7 +41,7 @@ - + diff --git a/PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformCreator.cs b/PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformSystem.cs similarity index 77% rename from PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformCreator.cs rename to PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformSystem.cs index c54e4a1c..1bbb0e6d 100644 --- a/PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformCreator.cs +++ b/PlatformSystems/ANX.PlatformSystem.Linux/LinuxPlatformSystem.cs @@ -13,35 +13,9 @@ using ANX.Framework.Storage; namespace ANX.PlatformSystem.Linux { - public class LinuxPlatformCreator : IPlatformSystemCreator + public class LinuxPlatformSystem : IPlatformSystem { - #region Public - public string Name - { - get - { - return "Linux"; - } - } - - public int Priority - { - get - { - return 100; - } - } - - public bool IsSupported - { - get - { - return OSInformation.GetName() == PlatformName.Linux; - } - } - #endregion - - public LinuxPlatformCreator() + public LinuxPlatformSystem() { } @@ -49,7 +23,6 @@ namespace ANX.PlatformSystem.Linux public GameHost CreateGameHost(Game game) { Logger.Info("creating Linux GameHost"); - AddInSystemFactory.Instance.PreventSystemChange(AddInType.PlatformSystem); return new LinuxGameHost(game); } #endregion diff --git a/PlatformSystems/ANX.PlatformSystem.Linux/Properties/AssemblyInfo.cs b/PlatformSystems/ANX.PlatformSystem.Linux/Properties/AssemblyInfo.cs index 3167355a..0102e206 100644 --- a/PlatformSystems/ANX.PlatformSystem.Linux/Properties/AssemblyInfo.cs +++ b/PlatformSystems/ANX.PlatformSystem.Linux/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.60.0.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PlatformSystems/ANX.PlatformSystem.PsVita/Properties/AssemblyInfo.cs b/PlatformSystems/ANX.PlatformSystem.PsVita/Properties/AssemblyInfo.cs index 0ce9b0aa..afd2e85b 100644 --- a/PlatformSystems/ANX.PlatformSystem.PsVita/Properties/AssemblyInfo.cs +++ b/PlatformSystems/ANX.PlatformSystem.PsVita/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.50.0.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PlatformSystems/ANX.PlatformSystem.PsVita/PsVitaPlatformCreator.cs b/PlatformSystems/ANX.PlatformSystem.PsVita/PsVitaPlatformCreator.cs index 741f8197..af01cea6 100644 --- a/PlatformSystems/ANX.PlatformSystem.PsVita/PsVitaPlatformCreator.cs +++ b/PlatformSystems/ANX.PlatformSystem.PsVita/PsVitaPlatformCreator.cs @@ -14,34 +14,8 @@ using ANX.Framework.Storage; namespace ANX.PlatformSystem.PsVita { - public class PsVitaPlatformCreator : IPlatformSystemCreator + public class PsVitaPlatformCreator : IPlatformSystem { - #region Public - public string Name - { - get - { - return "Platform.PsVita"; - } - } - - public int Priority - { - get - { - return 100; - } - } - - public bool IsSupported - { - get - { - return OSInformation.GetName() == PlatformName.PSVita; - } - } - #endregion - #region Constructor public PsVitaPlatformCreator() { @@ -52,7 +26,6 @@ namespace ANX.PlatformSystem.PsVita public GameHost CreateGameHost(Game game) { Logger.Info("creating PsVita GameHost"); - AddInSystemFactory.Instance.PreventSystemChange(AddInType.PlatformSystem); return new PsVitaGameHost(game); } #endregion diff --git a/PlatformSystems/ANX.PlatformSystem.Windows/ANX.PlatformSystem.Windows.csproj b/PlatformSystems/ANX.PlatformSystem.Windows/ANX.PlatformSystem.Windows.csproj index fc0815b6..8d331989 100644 --- a/PlatformSystems/ANX.PlatformSystem.Windows/ANX.PlatformSystem.Windows.csproj +++ b/PlatformSystems/ANX.PlatformSystem.Windows/ANX.PlatformSystem.Windows.csproj @@ -45,7 +45,7 @@ - + diff --git a/PlatformSystems/ANX.PlatformSystem.Windows/Properties/AssemblyInfo.cs b/PlatformSystems/ANX.PlatformSystem.Windows/Properties/AssemblyInfo.cs index e2fc1089..aaeee6f7 100644 --- a/PlatformSystems/ANX.PlatformSystem.Windows/Properties/AssemblyInfo.cs +++ b/PlatformSystems/ANX.PlatformSystem.Windows/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.75.0.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformCreator.cs b/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs similarity index 78% rename from PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformCreator.cs rename to PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs index dcd0b37f..65a9a097 100644 --- a/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformCreator.cs +++ b/PlatformSystems/ANX.PlatformSystem.Windows/WindowsPlatformSystem.cs @@ -13,35 +13,9 @@ using ANX.Framework.Storage; namespace ANX.PlatformSystem.Windows { - public class WindowsPlatformCreator : IPlatformSystemCreator + public class WindowsPlatformSystem : IPlatformSystem { - #region Public - public string Name - { - get - { - return "Windows"; - } - } - - public int Priority - { - get - { - return 100; - } - } - - public bool IsSupported - { - get - { - return OSInformation.IsWindows; - } - } - #endregion - - public WindowsPlatformCreator() + public WindowsPlatformSystem() { } @@ -49,7 +23,6 @@ namespace ANX.PlatformSystem.Windows public GameHost CreateGameHost(Game game) { Logger.Info("creating Windows GameHost"); - AddInSystemFactory.Instance.PreventSystemChange(AddInType.PlatformSystem); return new WindowsGameHost(game); } #endregion