fixed some major issues with AddInSystemFactory only occuring using Mono
This commit is contained in:
parent
6a43f4c2d0
commit
91c412bd00
@ -173,6 +173,8 @@ namespace ANX.Framework.NonXNA
|
||||
}
|
||||
|
||||
creators.Add(creatorName, creator);
|
||||
|
||||
logger.Debug("added creator '{0}'. Total count of registered creators is now {1}.", creatorName, creators.Count);
|
||||
}
|
||||
|
||||
public bool HasFramework(String name)
|
||||
@ -224,12 +226,20 @@ namespace ANX.Framework.NonXNA
|
||||
return defaultCreators[type] as T;
|
||||
}
|
||||
|
||||
logger.Error(String.Format("couldn't find a DefaultCreator of type '{0}'. Listing all registered creators: ", type.FullName));
|
||||
foreach (KeyValuePair<Type, ICreator> kvp in defaultCreators)
|
||||
{
|
||||
logger.Error(kvp.Key);
|
||||
}
|
||||
|
||||
throw new AddInLoadingException(String.Format("couldn't find a DefaultCreator of type '{0}'", type.FullName));
|
||||
}
|
||||
|
||||
public void SetDefaultCreator<T>(T creator) where T : class, ICreator
|
||||
{
|
||||
defaultCreators[typeof(T)] = creator;
|
||||
Type t = typeof(T);
|
||||
logger.Debug("setting DefaultCreator by type: {0}", t.FullName);
|
||||
defaultCreators[t] = creator;
|
||||
}
|
||||
|
||||
public void SetDefaultCreator(string creatorName)
|
||||
@ -241,7 +251,21 @@ namespace ANX.Framework.NonXNA
|
||||
|
||||
ICreator creator = null;
|
||||
creators.TryGetValue(creatorName.ToLowerInvariant(), out creator);
|
||||
defaultCreators[creator.GetType().GetInterfaces()[0]] = creator;
|
||||
if (creator != null)
|
||||
{
|
||||
Type t = creator.GetType().GetInterfaces()[0];
|
||||
if (t == typeof(ICreator))
|
||||
{
|
||||
//TODO: exception handling
|
||||
t = creator.GetType().GetInterfaces()[1];
|
||||
}
|
||||
logger.Debug("setting DefaultCreator by name: '{0}'. Resolved type: '{1}'. ", creatorName, t.FullName);
|
||||
defaultCreators[t] = creator;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new AddInLoadingException(String.Format("couldn't set DefaultCreator by name: '{0}'. ", creatorName));
|
||||
}
|
||||
}
|
||||
|
||||
public OperatingSystem OperatingSystem
|
||||
@ -271,11 +295,10 @@ namespace ANX.Framework.NonXNA
|
||||
case "ANX.Framework.NonXNA.IRenderSystemCreator":
|
||||
IRenderSystemCreator renderSystemCreator = creator as IRenderSystemCreator;
|
||||
IRenderSystemCreator defaultRenderSystemCreator = null;
|
||||
try
|
||||
if (defaultCreators.ContainsKey(typeof(IRenderSystemCreator)))
|
||||
{
|
||||
defaultRenderSystemCreator = GetDefaultCreator<IRenderSystemCreator>();
|
||||
renderSystemCreator = defaultCreators[typeof(IRenderSystemCreator)] as IRenderSystemCreator;
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (renderSystemCreator != null && (defaultRenderSystemCreator == null || defaultRenderSystemCreator.Priority > renderSystemCreator.Priority))
|
||||
{
|
||||
@ -285,11 +308,10 @@ namespace ANX.Framework.NonXNA
|
||||
case "ANX.Framework.NonXNA.ISoundSystemCreator":
|
||||
ISoundSystemCreator soundSystemCreator = creator as ISoundSystemCreator;
|
||||
ISoundSystemCreator defaultSoundSystemCreator = null;
|
||||
try
|
||||
if (defaultCreators.ContainsKey(typeof(ISoundSystemCreator)))
|
||||
{
|
||||
defaultSoundSystemCreator = GetDefaultCreator<ISoundSystemCreator>();
|
||||
defaultSoundSystemCreator = defaultCreators[typeof(ISoundSystemCreator)] as ISoundSystemCreator;
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (soundSystemCreator != null && (defaultSoundSystemCreator == null || defaultSoundSystemCreator.Priority > soundSystemCreator.Priority))
|
||||
{
|
||||
@ -299,11 +321,10 @@ namespace ANX.Framework.NonXNA
|
||||
case "ANX.Framework.NonXNA.IInputSystemCreator":
|
||||
IInputSystemCreator inputSystemCreator = creator as IInputSystemCreator;
|
||||
IInputSystemCreator defaultInputSystemCreator = null;
|
||||
try
|
||||
if (defaultCreators.ContainsKey(typeof(IInputSystemCreator)))
|
||||
{
|
||||
defaultInputSystemCreator = GetDefaultCreator<IInputSystemCreator>();
|
||||
defaultInputSystemCreator = defaultCreators[typeof(IInputSystemCreator)] as IInputSystemCreator;
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (inputSystemCreator != null && (defaultInputSystemCreator == null || defaultInputSystemCreator.Priority > inputSystemCreator.Priority))
|
||||
{
|
||||
|
@ -31,8 +31,8 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
[assembly: AssemblyVersion("0.4.31.*")]
|
||||
[assembly: AssemblyFileVersion("0.4.31.0")]
|
||||
[assembly: AssemblyVersion("0.4.32.*")]
|
||||
[assembly: AssemblyFileVersion("0.4.32.0")]
|
||||
|
||||
[assembly:InternalsVisibleTo("ANX.Framework.Windows.DX10")]
|
||||
[assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.DX11")]
|
||||
|
@ -45,11 +45,7 @@
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Creator.cs" />
|
||||
|
@ -58,16 +58,17 @@ namespace ANX.InputSystem.OpenTK
|
||||
{
|
||||
public class Mouse : IMouse
|
||||
{
|
||||
private IntPtr windowHandle;
|
||||
|
||||
public IntPtr WindowHandle
|
||||
{
|
||||
get
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
return this.windowHandle;
|
||||
}
|
||||
set
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
this.windowHandle = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -97,6 +97,7 @@ namespace ANX.Framework.Windows.GL3
|
||||
#region RegisterRenderSystemCreator
|
||||
public void RegisterCreator(AddInSystemFactory factory)
|
||||
{
|
||||
logger.Debug("adding OpenGL3 RenderSystem creator to creator collection of AddInSystemFactory");
|
||||
factory.AddCreator(this);
|
||||
}
|
||||
#endregion
|
||||
|
@ -81,6 +81,14 @@ namespace WindowsGame1
|
||||
{
|
||||
graphics = new GraphicsDeviceManager(this);
|
||||
Content.RootDirectory = "SampleContent";
|
||||
|
||||
graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
|
||||
}
|
||||
|
||||
void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e)
|
||||
{
|
||||
e.GraphicsDeviceInformation.PresentationParameters.DepthStencilFormat = DepthFormat.None;
|
||||
e.GraphicsDeviceInformation.PresentationParameters.BackBufferFormat = SurfaceFormat.Bgr565;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
Loading…
x
Reference in New Issue
Block a user