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);
|
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)
|
public bool HasFramework(String name)
|
||||||
@ -224,12 +226,20 @@ namespace ANX.Framework.NonXNA
|
|||||||
return defaultCreators[type] as T;
|
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));
|
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
|
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)
|
public void SetDefaultCreator(string creatorName)
|
||||||
@ -241,7 +251,21 @@ namespace ANX.Framework.NonXNA
|
|||||||
|
|
||||||
ICreator creator = null;
|
ICreator creator = null;
|
||||||
creators.TryGetValue(creatorName.ToLowerInvariant(), out creator);
|
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
|
public OperatingSystem OperatingSystem
|
||||||
@ -271,11 +295,10 @@ namespace ANX.Framework.NonXNA
|
|||||||
case "ANX.Framework.NonXNA.IRenderSystemCreator":
|
case "ANX.Framework.NonXNA.IRenderSystemCreator":
|
||||||
IRenderSystemCreator renderSystemCreator = creator as IRenderSystemCreator;
|
IRenderSystemCreator renderSystemCreator = creator as IRenderSystemCreator;
|
||||||
IRenderSystemCreator defaultRenderSystemCreator = null;
|
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))
|
if (renderSystemCreator != null && (defaultRenderSystemCreator == null || defaultRenderSystemCreator.Priority > renderSystemCreator.Priority))
|
||||||
{
|
{
|
||||||
@ -285,11 +308,10 @@ namespace ANX.Framework.NonXNA
|
|||||||
case "ANX.Framework.NonXNA.ISoundSystemCreator":
|
case "ANX.Framework.NonXNA.ISoundSystemCreator":
|
||||||
ISoundSystemCreator soundSystemCreator = creator as ISoundSystemCreator;
|
ISoundSystemCreator soundSystemCreator = creator as ISoundSystemCreator;
|
||||||
ISoundSystemCreator defaultSoundSystemCreator = null;
|
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))
|
if (soundSystemCreator != null && (defaultSoundSystemCreator == null || defaultSoundSystemCreator.Priority > soundSystemCreator.Priority))
|
||||||
{
|
{
|
||||||
@ -299,11 +321,10 @@ namespace ANX.Framework.NonXNA
|
|||||||
case "ANX.Framework.NonXNA.IInputSystemCreator":
|
case "ANX.Framework.NonXNA.IInputSystemCreator":
|
||||||
IInputSystemCreator inputSystemCreator = creator as IInputSystemCreator;
|
IInputSystemCreator inputSystemCreator = creator as IInputSystemCreator;
|
||||||
IInputSystemCreator defaultInputSystemCreator = null;
|
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))
|
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
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
[assembly: AssemblyVersion("0.4.31.*")]
|
[assembly: AssemblyVersion("0.4.32.*")]
|
||||||
[assembly: AssemblyFileVersion("0.4.31.0")]
|
[assembly: AssemblyFileVersion("0.4.32.0")]
|
||||||
|
|
||||||
[assembly:InternalsVisibleTo("ANX.Framework.Windows.DX10")]
|
[assembly:InternalsVisibleTo("ANX.Framework.Windows.DX10")]
|
||||||
[assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.DX11")]
|
[assembly:InternalsVisibleTo("ANX.RenderSystem.Windows.DX11")]
|
||||||
|
@ -45,11 +45,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="System.Data" />
|
|
||||||
<Reference Include="System.Xml" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Creator.cs" />
|
<Compile Include="Creator.cs" />
|
||||||
|
@ -58,16 +58,17 @@ namespace ANX.InputSystem.OpenTK
|
|||||||
{
|
{
|
||||||
public class Mouse : IMouse
|
public class Mouse : IMouse
|
||||||
{
|
{
|
||||||
|
private IntPtr windowHandle;
|
||||||
|
|
||||||
public IntPtr WindowHandle
|
public IntPtr WindowHandle
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
return this.windowHandle;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
this.windowHandle = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@ namespace ANX.Framework.Windows.GL3
|
|||||||
#region RegisterRenderSystemCreator
|
#region RegisterRenderSystemCreator
|
||||||
public void RegisterCreator(AddInSystemFactory factory)
|
public void RegisterCreator(AddInSystemFactory factory)
|
||||||
{
|
{
|
||||||
|
logger.Debug("adding OpenGL3 RenderSystem creator to creator collection of AddInSystemFactory");
|
||||||
factory.AddCreator(this);
|
factory.AddCreator(this);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -81,6 +81,14 @@ namespace WindowsGame1
|
|||||||
{
|
{
|
||||||
graphics = new GraphicsDeviceManager(this);
|
graphics = new GraphicsDeviceManager(this);
|
||||||
Content.RootDirectory = "SampleContent";
|
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>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user