Migrated WindowsFormsEditor and WindowsGame and did basic implementation of OpenTK InputDevices

Made it possible to separate the InputDevices by their provider and set
a preffered provider. Otherwise you are restricted to only having one
input Device provider.
Improved the error message if the WindowHandle on the InputDeviceFactory
is invalid.
Improved AssemblyLoader which was skipping the InputDevices.OpenTK
assembly because the OpenTK assembly was blocked. Added ANX.Framework
and SharpDX.Direct3D11.Effects to the ignore list.
The AssemblyLoader is not static anymore (Only used in
AddinSystemFactory) and it doesn't add the same assembly multiple times
anymore. Additionally, if a type of an assembly couldn't be loaded, it
throws now a TypeLoadException with the hint that a dependency might
have been loaded in the wrong version.
Refactored RenderSystem.GL3 with the latest changes on the effect system
that have been done in the ANX.Framework.
This commit is contained in:
Konstantin Koch 2015-10-18 13:37:39 +02:00
parent fbb02e6d5b
commit c61b7a077e
43 changed files with 972 additions and 239 deletions

View File

@ -27,6 +27,7 @@ namespace ANX.Framework.NonXNA
private static AddInSystemFactory instance;
private bool initialized;
private Dictionary<AddInType, AddInTypeCollection> addInSystems;
private AssemblyLoader assemblyLoader;
#endregion
#region Public
@ -65,15 +66,15 @@ namespace ANX.Framework.NonXNA
initialized = true;
Logger.Info("[ANX] Initializing ANX.Framework AddInSystemFactory...");
assemblyLoader = new AssemblyLoader();
CreateAllAddIns();
SortAddIns();
}
#endregion
#region CreateAllAddIns
private void CreateAllAddIns()
{
foreach (Type creatorType in AssemblyLoader.CreatorTypes)
foreach (Type creatorType in assemblyLoader.CreatorTypes)
{
Type matchingSupportedPlatformsType = FindSupportedPlatformsTypeByNamespace(creatorType);
if (matchingSupportedPlatformsType == null)
@ -89,29 +90,24 @@ namespace ANX.Framework.NonXNA
Logger.Info("[ANX] skipped loading file because it is not supported or not a valid AddIn.");
}
}
#endregion
#region FindSupportedPlatformsTypeByNamespace
private Type FindSupportedPlatformsTypeByNamespace(Type creatorType)
{
foreach (Type spType in AssemblyLoader.SupportedPlatformsTypes)
foreach (Type spType in assemblyLoader.SupportedPlatformsTypes)
if (spType.Namespace == creatorType.Namespace)
return spType;
return null;
}
#endregion
#region FindSupportedPlatformsTypeByAssembly
private Type FindSupportedPlatformsTypeByAssembly(Type creatorType)
{
foreach (Type spType in AssemblyLoader.SupportedPlatformsTypes)
foreach (Type spType in assemblyLoader.SupportedPlatformsTypes)
if (TypeHelper.GetAssemblyFrom(spType) == TypeHelper.GetAssemblyFrom(creatorType))
return spType;
return null;
}
#endregion
#region AddCreator
internal void AddCreator(ICreator creator)

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using ANX.Framework.NonXNA.InputSystem;
using ANX.Framework.NonXNA.Reflection;
using System.Collections.ObjectModel;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@ -37,6 +38,17 @@ namespace ANX.Framework.NonXNA
get;
internal set;
}
public ILookup<string, IInputDeviceCreator> Providers
{
get { return deviceCreators.SelectMany((x) => x.Value).Select((x) => x.Value).ToLookup((x) => x.Provider); }
}
public string PrefferedProvider
{
get;
set;
}
#endregion
#region Constructor
@ -55,7 +67,7 @@ namespace ANX.Framework.NonXNA
if (!deviceCreators.ContainsKey(deviceInterface))
deviceCreators.Add(deviceInterface, new Dictionary<string, IInputDeviceCreator>());
else if (deviceCreators[deviceInterface].ContainsKey(creatorName))
throw new Exception("Duplicate " + deviceType.Name + " found. A " + deviceType.Name +
throw new ArgumentException("Duplicate " + deviceType.Name + " found. A " + deviceType.Name +
" with the name '" + creator.Name + "' was already registered.");
deviceCreators[deviceInterface].Add(creatorName, creator);
@ -66,13 +78,12 @@ namespace ANX.Framework.NonXNA
#endregion
#region GetDefaultTouchPanel
public ITouchPanel GetDefaultTouchPanel()
public ITouchPanel CreateDefaultTouchPanel()
{
ValidateWindowHandle();
ValidateWindowHandle("TouchPanel");
var touchPanel = GetDefaultCreator<ITouchPanelCreator>().CreateDevice();
#if !WINDOWSMETRO
touchPanel.WindowHandle = WindowHandle;
#endif
return touchPanel;
}
#endregion
@ -87,11 +98,10 @@ namespace ANX.Framework.NonXNA
#region CreateDefaultMouse
public IMouse CreateDefaultMouse()
{
ValidateWindowHandle();
ValidateWindowHandle("Mouse");
var mouse = GetDefaultCreator<IMouseCreator>().CreateDevice();
#if !WINDOWSMETRO
mouse.WindowHandle = WindowHandle;
#endif
return mouse;
}
#endregion
@ -99,7 +109,7 @@ namespace ANX.Framework.NonXNA
#region CreateDefaultKeyboard
public IKeyboard CreateDefaultKeyboard()
{
ValidateWindowHandle();
ValidateWindowHandle("Keyboard");
var keyboard = GetDefaultCreator<IKeyboardCreator>().CreateDevice();
keyboard.WindowHandle = WindowHandle;
@ -124,18 +134,24 @@ namespace ANX.Framework.NonXNA
{
var creators = deviceCreators[creatorType];
if (creators.Count > 0)
return (T)creators.Values.First();
{
var creator = (T)creators.Values.FirstOrDefault((x) => x.Provider == PrefferedProvider);
if (creator != null)
return creator;
else
return (T)creators.Values.First();
}
}
throw new Exception("Unable to find a default creator for type " + creatorType);
throw new ArgumentException("Unable to find a default creator for type " + creatorType);
}
#endregion
#region ValidateWindowHandle
private void ValidateWindowHandle()
private void ValidateWindowHandle(string deviceName)
{
if (!WindowHandle.IsValid)
throw new Exception("Unable to create a mouse instance because the WindowHandle was not set.");
throw new InvalidOperationException(string.Format("Unable to create a {0} instance because the WindowHandle was not set.", deviceName));
}
#endregion
}

View File

@ -9,6 +9,9 @@ namespace ANX.Framework.NonXNA.InputSystem
public interface IInputDeviceCreator
{
string Name { get; }
string Provider { get; }
int Priority { get; }
}

View File

@ -7,11 +7,13 @@ using ANX.Framework.NonXNA.InputSystem;
namespace ANX.Framework.NonXNA.Reflection
{
internal static class AssemblyLoader
internal class AssemblyLoader
{
#region Constants
private static readonly string[] IgnoreAssemblies =
{
"ANX.Framework.dll",
"SharpDX.Direct3D11.Effects.dll",
"OpenTK.dll",
"OpenTK.GLControl.dll",
"OpenTK.Compatibility.dll",
@ -41,49 +43,41 @@ namespace ANX.Framework.NonXNA.Reflection
"Microsoft.Xna.Framework.Game.dll",
"Microsoft.Xna.Framework.Content.Pipeline.dll",
"OggUtils.dll",
"OggUtils.dll",
};
#endregion
#region Private
private static List<Assembly> allAssemblies = new List<Assembly>();
private static bool initialized = false;
private static List<Type> creatorTypes = new List<Type>();
private static List<Type> supportedPlatformsTypes = new List<Type>();
private List<Assembly> allAssemblies = new List<Assembly>();
private List<Type> creatorTypes = new List<Type>();
private List<Type> supportedPlatformsTypes = new List<Type>();
#endregion
#region Public
public static List<Type> CreatorTypes
public List<Type> CreatorTypes
{
get
{
InitializeIfNotInitializedYet();
return creatorTypes;
}
}
public static List<Type> SupportedPlatformsTypes
public List<Type> SupportedPlatformsTypes
{
get
{
InitializeIfNotInitializedYet();
return supportedPlatformsTypes;
}
}
#endregion
private static void InitializeIfNotInitializedYet()
public AssemblyLoader()
{
if (initialized)
return;
LoadAllAssemblies();
SearchForValidAddInTypes();
initialized = true;
}
#region LoadAllAssemblies
private static void LoadAllAssemblies()
private void LoadAllAssemblies()
{
LoadAssembliesFromFile();
LoadAssembliesFromNames();
@ -93,7 +87,7 @@ namespace ANX.Framework.NonXNA.Reflection
var entryAssembly = Assembly.GetEntryAssembly();
//Entry assembly could be null if the managed code was called directly from native code without going through a Main entry point.
//Which would for example happen when the tests are run via NUnit.
if (entryAssembly != null)
if (entryAssembly != null && !allAssemblies.Contains(entryAssembly))
allAssemblies.Add(entryAssembly);
#else
// TODO: a lot of testing is required!
@ -103,7 +97,7 @@ namespace ANX.Framework.NonXNA.Reflection
#endregion
#region LoadAssembliesFromFile
private static void LoadAssembliesFromFile()
private void LoadAssembliesFromFile()
{
#if !ANDROID && !WINDOWSMETRO
string executingAssemblyFilepath = Assembly.GetExecutingAssembly().Location;
@ -118,7 +112,7 @@ namespace ANX.Framework.NonXNA.Reflection
bool ignore = false;
foreach (string ignoreName in IgnoreAssemblies)
{
if (file.EndsWith(ignoreName, StringComparison.InvariantCultureIgnoreCase))
if (Path.GetFileName(file).Equals(ignoreName, StringComparison.InvariantCultureIgnoreCase))
{
ignore = true;
break;
@ -132,7 +126,8 @@ namespace ANX.Framework.NonXNA.Reflection
try
{
Assembly assembly = Assembly.LoadFrom(file);
allAssemblies.Add(assembly);
if (!allAssemblies.Contains(assembly))
allAssemblies.Add(assembly);
}
catch
{
@ -143,7 +138,7 @@ namespace ANX.Framework.NonXNA.Reflection
#endregion
#region LoadAssembliesFromNames
private static void LoadAssembliesFromNames()
private void LoadAssembliesFromNames()
{
List<string> allAssemblyNames = new List<string>();
@ -158,14 +153,14 @@ namespace ANX.Framework.NonXNA.Reflection
foreach (string assemblyName in allAssemblyNames)
{
Assembly loadedAssembly = LoadAssemblyByName(assemblyName);
if (loadedAssembly != null)
if (loadedAssembly != null && !allAssemblies.Contains(loadedAssembly))
allAssemblies.Add(loadedAssembly);
}
}
#endregion
#region LoadAssemblyByName
private static Assembly LoadAssemblyByName(string assemblyName)
private Assembly LoadAssemblyByName(string assemblyName)
{
try
{
@ -183,7 +178,7 @@ namespace ANX.Framework.NonXNA.Reflection
#endregion
#region SearchForValidAddInTypes
private static void SearchForValidAddInTypes()
private void SearchForValidAddInTypes()
{
foreach (Assembly assembly in allAssemblies)
SearchForValidAddInTypesInAssembly(assembly);
@ -191,7 +186,7 @@ namespace ANX.Framework.NonXNA.Reflection
#endregion
#region SearchForValidAddInTypesInAssembly
private static void SearchForValidAddInTypesInAssembly(Assembly assembly)
private void SearchForValidAddInTypesInAssembly(Assembly assembly)
{
var assemblyAttributes = assembly.GetCustomAttributes<SupportedPlatformsAttribute>();
@ -232,11 +227,8 @@ namespace ANX.Framework.NonXNA.Reflection
foreach (Type type in allTypes)
{
//Can happen if we have types that are incompatible with our Runtime version.
//TODO: Maybe we should instead throw an error?
//Would be a very annoying error to find for someone who uses the code.
if (type == null)
continue;
throw new TypeLoadException(string.Format("Can't load a type from {0}, maybe a depdency doesn't exist in the correct version.", assembly.FullName));
bool isTypeCreatable = TypeHelper.IsAbstract(type) == false && TypeHelper.IsInterface(type) == false;
if (isTypeCreatable)

View File

@ -46,6 +46,7 @@ using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo("ANX.InputDevices.Test")]
[assembly: InternalsVisibleTo("ANX.InputDevices.Windows.Kinect")]
[assembly: InternalsVisibleTo("ANX.InputDevices.Windows.XInput")]
[assembly: InternalsVisibleTo("ANX.InputDevices.OpenTK")]
[assembly: InternalsVisibleTo("ANX.InputDevices.Windows.ModernUI")]
[assembly: InternalsVisibleTo("ANX.PlatformSystem.Windows")]
[assembly: InternalsVisibleTo("ANX.PlatformSystem.Linux")]

View File

@ -31,13 +31,14 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenTK, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\OpenTK\OpenTK.dll</HintPath>
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
<HintPath>..\..\packages\OpenTK.1.1.1589.5942\lib\NET40\OpenTK.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Extensions.cs" />
<Compile Include="GamePad.cs" />
<Compile Include="GamePadCreator.cs" />
<Compile Include="Keyboard.cs" />
@ -52,6 +53,9 @@
<Name>ANX.Framework</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -0,0 +1,273 @@
using ANX.Framework;
using ANX.Framework.Input;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Input = OpenTK.Input;
namespace ANX.InputDevices.OpenTK
{
static class Extensions
{
#region GamePad
public static GamePadState ToAnx(this Input.GamePadState state)
{
return new GamePadState(state.ThumbSticks.ToAnx(), state.Triggers.ToAnx(), state.Buttons.ToAnx(), state.DPad.ToAnx())
{
IsConnected = state.IsConnected,
PacketNumber = state.PacketNumber,
};
}
public static GamePadThumbSticks ToAnx(this Input.GamePadThumbSticks sticks)
{
return new GamePadThumbSticks(sticks.Left.ToAnx(), sticks.Right.ToAnx());
}
public static GamePadTriggers ToAnx(this Input.GamePadTriggers triggers)
{
return new GamePadTriggers(triggers.Left, triggers.Right);
}
public static GamePadDPad ToAnx(this Input.GamePadDPad dpad)
{
return new GamePadDPad(dpad.Up.ToAnx(), dpad.Down.ToAnx(), dpad.Left.ToAnx(), dpad.Right.ToAnx());
}
public static GamePadButtons ToAnx(this Input.GamePadButtons buttons)
{
return new GamePadButtons(buttons.ToButtons());
}
public static Buttons ToButtons(this Input.GamePadButtons buttons)
{
Buttons anxButtons = default(Buttons);
if (buttons.A == Input.ButtonState.Pressed)
anxButtons |= Buttons.A;
if (buttons.B == Input.ButtonState.Pressed)
anxButtons |= Buttons.B;
if (buttons.Back == Input.ButtonState.Pressed)
anxButtons |= Buttons.Back;
if (buttons.BigButton == Input.ButtonState.Pressed)
anxButtons |= Buttons.BigButton;
if (buttons.LeftShoulder == Input.ButtonState.Pressed)
anxButtons |= Buttons.LeftShoulder;
if (buttons.LeftStick == Input.ButtonState.Pressed)
anxButtons |= Buttons.LeftStick;
if (buttons.RightShoulder == Input.ButtonState.Pressed)
anxButtons |= Buttons.RightShoulder;
if (buttons.RightStick == Input.ButtonState.Pressed)
anxButtons |= Buttons.RightStick;
if (buttons.Start == Input.ButtonState.Pressed)
anxButtons |= Buttons.Start;
if (buttons.X == Input.ButtonState.Pressed)
anxButtons |= Buttons.X;
if (buttons.Y == Input.ButtonState.Pressed)
anxButtons |= Buttons.Y;
return anxButtons;
}
#endregion
#region Keyboard
private static Dictionary<Input.Key, Keys> keyMap = null;
private static void initKeyMap()
{
if (keyMap != null)
return;
keyMap = new Dictionary<Input.Key, Keys>();
keyMap[Input.Key.A] = Keys.A;
keyMap[Input.Key.AltLeft] = Keys.LeftAlt;
keyMap[Input.Key.AltRight] = Keys.RightAlt;
keyMap[Input.Key.B] = Keys.B;
keyMap[Input.Key.Back] = Keys.Back;
keyMap[Input.Key.BackSlash] = Keys.OemBackslash;
//keyMap[Input.Key.BackSpace] = Keys.Back;
keyMap[Input.Key.BracketLeft] = Keys.OemOpenBrackets;
keyMap[Input.Key.BracketRight] = Keys.OemCloseBrackets;
keyMap[Input.Key.C] = Keys.C;
keyMap[Input.Key.CapsLock] = Keys.CapsLock;
keyMap[Input.Key.Clear] = Keys.OemClear;
keyMap[Input.Key.Comma] = Keys.OemComma;
keyMap[Input.Key.ControlLeft] = Keys.LeftControl;
keyMap[Input.Key.ControlRight] = Keys.RightControl;
keyMap[Input.Key.D] = Keys.D;
keyMap[Input.Key.Delete] = Keys.Delete;
keyMap[Input.Key.Down] = Keys.Down;
keyMap[Input.Key.E] = Keys.E;
keyMap[Input.Key.End] = Keys.End;
keyMap[Input.Key.Enter] = Keys.Enter;
keyMap[Input.Key.Escape] = Keys.Escape;
keyMap[Input.Key.F] = Keys.F;
keyMap[Input.Key.F1] = Keys.F1;
keyMap[Input.Key.F10] = Keys.F10;
keyMap[Input.Key.F11] = Keys.F11;
keyMap[Input.Key.F12] = Keys.F12;
keyMap[Input.Key.F13] = Keys.F13;
keyMap[Input.Key.F14] = Keys.F14;
keyMap[Input.Key.F15] = Keys.F15;
keyMap[Input.Key.F16] = Keys.F16;
keyMap[Input.Key.F17] = Keys.F17;
keyMap[Input.Key.F18] = Keys.F18;
keyMap[Input.Key.F19] = Keys.F19;
keyMap[Input.Key.F2] = Keys.F2;
keyMap[Input.Key.F20] = Keys.F20;
keyMap[Input.Key.F21] = Keys.F21;
keyMap[Input.Key.F22] = Keys.F22;
keyMap[Input.Key.F23] = Keys.F23;
keyMap[Input.Key.F24] = Keys.F24;
//keyMap[Input.Key.F25] = Keys.;
//... F35
keyMap[Input.Key.F3] = Keys.F3;
keyMap[Input.Key.F4] = Keys.F4;
keyMap[Input.Key.F5] = Keys.F5;
keyMap[Input.Key.F6] = Keys.F6;
keyMap[Input.Key.F7] = Keys.F7;
keyMap[Input.Key.F8] = Keys.F8;
keyMap[Input.Key.F9] = Keys.F9;
keyMap[Input.Key.G] = Keys.G;
keyMap[Input.Key.Grave] = Keys.OemTilde;
keyMap[Input.Key.H] = Keys.H;
keyMap[Input.Key.Home] = Keys.Home;
keyMap[Input.Key.I] = Keys.I;
keyMap[Input.Key.Insert] = Keys.Insert;
keyMap[Input.Key.J] = Keys.J;
keyMap[Input.Key.K] = Keys.K;
keyMap[Input.Key.Keypad0] = Keys.NumPad0;
keyMap[Input.Key.Keypad1] = Keys.NumPad1;
keyMap[Input.Key.Keypad2] = Keys.NumPad2;
keyMap[Input.Key.Keypad3] = Keys.NumPad3;
keyMap[Input.Key.Keypad4] = Keys.NumPad4;
keyMap[Input.Key.Keypad5] = Keys.NumPad5;
keyMap[Input.Key.Keypad6] = Keys.NumPad6;
keyMap[Input.Key.Keypad7] = Keys.NumPad7;
keyMap[Input.Key.Keypad8] = Keys.NumPad8;
keyMap[Input.Key.Keypad9] = Keys.NumPad9;
keyMap[Input.Key.KeypadAdd] = Keys.Add;
keyMap[Input.Key.KeypadDecimal] = Keys.Decimal;
keyMap[Input.Key.KeypadDivide] = Keys.Divide;
//keyMap[Input.Key.KeypadEnter] = Keys.Enter;
keyMap[Input.Key.KeypadMinus] = Keys.Subtract;
keyMap[Input.Key.KeypadMultiply] = Keys.Multiply;
keyMap[Input.Key.KeypadPeriod] = Keys.OemPeriod;
keyMap[Input.Key.KeypadPlus] = Keys.Add;
keyMap[Input.Key.KeypadSubtract] = Keys.Subtract;
keyMap[Input.Key.L] = Keys.L;
keyMap[Input.Key.LAlt] = Keys.LeftAlt;
keyMap[Input.Key.LBracket] = Keys.OemOpenBrackets;
keyMap[Input.Key.LControl] = Keys.LeftControl;
keyMap[Input.Key.Left] = Keys.Left;
keyMap[Input.Key.LShift] = Keys.LeftShift;
keyMap[Input.Key.LWin] = Keys.LeftWindows;
keyMap[Input.Key.M] = Keys.M;
//keyMap[Input.Key.Menu] = Keys.;
keyMap[Input.Key.Minus] = Keys.OemMinus;
keyMap[Input.Key.N] = Keys.N;
//keyMap.Add(Input.Key.NonUSBackSlash);
keyMap[Input.Key.Number0] = Keys.D0;
keyMap[Input.Key.Number1] = Keys.D1;
keyMap[Input.Key.Number2] = Keys.D2;
keyMap[Input.Key.Number3] = Keys.D3;
keyMap[Input.Key.Number4] = Keys.D4;
keyMap[Input.Key.Number5] = Keys.D5;
keyMap[Input.Key.Number6] = Keys.D6;
keyMap[Input.Key.Number7] = Keys.D7;
keyMap[Input.Key.Number8] = Keys.D8;
keyMap[Input.Key.Number9] = Keys.D9;
keyMap[Input.Key.NumLock] = Keys.NumLock;
keyMap[Input.Key.O] = Keys.O;
keyMap[Input.Key.P] = Keys.P;
keyMap[Input.Key.PageDown] = Keys.PageDown;
keyMap[Input.Key.PageUp] = Keys.PageUp;
keyMap[Input.Key.Pause] = Keys.Pause;
keyMap[Input.Key.Period] = Keys.OemPeriod;
keyMap[Input.Key.Plus] = Keys.OemPlus;
keyMap[Input.Key.PrintScreen] = Keys.PrintScreen;
keyMap[Input.Key.Q] = Keys.Q;
keyMap[Input.Key.Quote] = Keys.OemQuotes;
keyMap[Input.Key.R] = Keys.R;
keyMap[Input.Key.RAlt] = Keys.RightAlt;
keyMap[Input.Key.RBracket] = Keys.OemCloseBrackets;
keyMap[Input.Key.RControl] = Keys.RightControl;
keyMap[Input.Key.Right] = Keys.Right;
keyMap[Input.Key.RShift] = Keys.RightShift;
keyMap[Input.Key.RWin] = Keys.RightWindows;
keyMap[Input.Key.S] = Keys.S;
keyMap[Input.Key.ScrollLock] = Keys.Scroll;
keyMap[Input.Key.Semicolon] = Keys.OemSemicolon;
keyMap[Input.Key.ShiftLeft] = Keys.LeftShift;
keyMap[Input.Key.ShiftRight] = Keys.RightShift;
//keyMap[Input.Key.Slash] = Keys.;
keyMap[Input.Key.Sleep] = Keys.Sleep;
keyMap[Input.Key.Space] = Keys.Space;
keyMap[Input.Key.T] = Keys.T;
keyMap[Input.Key.Tab] = Keys.Tab;
keyMap[Input.Key.Tilde] = Keys.OemTilde;
keyMap[Input.Key.U] = Keys.U;
keyMap[Input.Key.Up] = Keys.Up;
keyMap[Input.Key.V] = Keys.V;
keyMap[Input.Key.W] = Keys.W;
keyMap[Input.Key.WinLeft] = Keys.LeftWindows;
keyMap[Input.Key.WinRight] = Keys.RightWindows;
keyMap[Input.Key.X] = Keys.X;
keyMap[Input.Key.Y] = Keys.Y;
keyMap[Input.Key.Z] = Keys.Z;
//TODO: Many XNA buttons are missing
//like media and kanji
}
public static Keys ToAnx(this Input.Key key)
{
initKeyMap();
Keys keys;
if (keyMap.TryGetValue(key, out keys))
return keys;
else
{
Console.Error.WriteLine("Unknown key: " + key.ToString());
return Keys.None;
}
}
public static KeyboardState ToAnx(this Input.KeyboardState state)
{
List<Keys> downKeys = new List<Keys>();
foreach (Input.Key key in Enum.GetValues(typeof(Input.Key)))
{
if (state.IsKeyDown(key))
downKeys.Add(key.ToAnx());
}
return new KeyboardState(downKeys.ToArray());
}
#endregion
public static ButtonState ToAnx(this Input.ButtonState state)
{
return (ButtonState)state;
}
public static Vector2 ToAnx(this global::OpenTK.Vector2 vector)
{
return new Vector2(vector.X, vector.Y);
}
}
}

View File

@ -2,6 +2,7 @@ using System;
using ANX.Framework;
using ANX.Framework.Input;
using ANX.Framework.NonXNA;
using Input = OpenTK.Input;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@ -18,7 +19,7 @@ namespace ANX.InputDevices.OpenTK
public GamePadState GetState(PlayerIndex playerIndex)
{
throw new NotImplementedException();
return Input.GamePad.GetState((int)playerIndex).ToAnx();
}
public GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode)
@ -28,7 +29,7 @@ namespace ANX.InputDevices.OpenTK
public bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor)
{
throw new NotImplementedException();
return Input.GamePad.SetVibration((int)playerIndex, leftMotor, rightMotor);
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.OpenTK
{
return new GamePad();
}
}
public string Provider
{
get { return "OpenTK"; }
}
}
}

View File

@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using ANX.Framework.NonXNA;
using Input = OpenTK.Input;
#endregion // Using Statements
@ -23,12 +24,12 @@ namespace ANX.InputDevices.OpenTK
public Framework.Input.KeyboardState GetState()
{
throw new NotImplementedException();
return Input.Keyboard.GetState().ToAnx();
}
public Framework.Input.KeyboardState GetState(Framework.PlayerIndex playerIndex)
{
throw new NotImplementedException();
return Input.Keyboard.GetState((int)playerIndex).ToAnx();
}
public void Dispose()

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.OpenTK
{
return new Keyboard();
}
}
public string Provider
{
get { return "OpenTK"; }
}
}
}

View File

@ -1,6 +1,7 @@
using System;
using ANX.Framework.Input;
using ANX.Framework.NonXNA;
using Input = OpenTK.Input;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.OpenTK
{
return new Mouse();
}
}
public string Provider
{
get { return "OpenTK"; }
}
}
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OpenTK" version="1.1.1589.5942" targetFramework="net40" />
</packages>

View File

@ -30,5 +30,11 @@ namespace ANX.InputDevices.PsVita
{
return new GamePad();
}
}
public string Provider
{
get { return "Sce"; }
}
}
}

View File

@ -30,5 +30,11 @@ namespace ANX.InputDevices.PsVita
{
throw new NotImplementedException();
}
}
public string Provider
{
get { return "Sce"; }
}
}
}

View File

@ -30,5 +30,11 @@ namespace ANX.InputDevices.PsVita
{
throw new NotImplementedException();
}
}
public string Provider
{
get { return "Sce"; }
}
}
}

View File

@ -30,5 +30,11 @@ namespace ANX.InputDevices.PsVita
{
return new TouchPanel();
}
}
public string Provider
{
get { return "Sce"; }
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.Test
return 99;
}
}
}
public string Provider
{
get { return "Test"; }
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.Test
return 99;
}
}
}
public string Provider
{
get { return "Test"; }
}
}
}

View File

@ -26,5 +26,11 @@ namespace ANX.InputDevices.Test
{
get { return 99; }
}
}
public string Provider
{
get { return "Test"; }
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.Windows.Kinect
{
return new Kinect();
}
}
public string Provider
{
get { return "Microsoft.Research"; }
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.Windows.ModernUI
{
return new GamePad();
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -29,5 +29,11 @@ namespace ANX.InputDevices.Windows.ModernUI
{
return new Keyboard();
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -36,5 +36,11 @@ namespace ANX.InputDevices.Windows.ModernUI
{
return new Mouse();
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -33,5 +33,11 @@ namespace ANX.InputDevices.Windows.XInput
{
return new GamePad();
}
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -17,7 +17,7 @@ namespace ANX.InputDevices.Windows.XInput
{
get
{
return "DirectInput.DXKeyboard";
return "XInput.Keyboard";
}
}
@ -33,5 +33,11 @@ namespace ANX.InputDevices.Windows.XInput
{
return new Keyboard();
}
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -17,7 +17,7 @@ namespace ANX.InputDevices.Windows.XInput
{
get
{
return "DirectInput.Mouse";
return "XInput.Mouse";
}
}
@ -33,5 +33,11 @@ namespace ANX.InputDevices.Windows.XInput
{
return new Mouse();
}
}
public string Provider
{
get { return "XInput"; }
}
}
}

View File

@ -43,7 +43,7 @@ namespace ANX.InputSystem.Standard
{
Logger.Info(string.Format(CreationLogMessage, "TouchPanel"));
PreventSystemChange();
touchPanel = InputDeviceFactory.Instance.GetDefaultTouchPanel();
touchPanel = InputDeviceFactory.Instance.CreateDefaultTouchPanel();
if (touchPanel == null)
throw new NoInputDeviceException(string.Format(CreationThrowMessage, "touchPanel"));
}

View File

@ -123,6 +123,12 @@ namespace ANX.RenderSystem.GL3
AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem);
return new IndexBufferGL3(managedBuffer, size, indexCount, usage);
}
public INativeIndexBuffer CreateDynamicIndexBuffer(GraphicsDevice graphics, IndexBuffer managedBuffer, IndexElementSize size, int indexCount, BufferUsage usage)
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem);
return new IndexBufferGL3(managedBuffer, size, indexCount, usage);
}
#endregion
#region CreateVertexBuffer
@ -143,6 +149,13 @@ namespace ANX.RenderSystem.GL3
return new VertexBufferGL3(managedBuffer, vertexDeclaration, vertexCount,
usage);
}
public INativeVertexBuffer CreateDynamicVertexBuffer(GraphicsDevice graphics, DynamicVertexBuffer managedBuffer, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage)
{
AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem);
return new VertexBufferGL3(managedBuffer, vertexDeclaration, vertexCount,
usage);
}
#endregion
#if XNAEXT
@ -331,5 +344,6 @@ namespace ANX.RenderSystem.GL3
//GL.Uniform1(UniformIndex, 1, ref unitIndex);
}
#endregion
}
}
}

View File

@ -195,7 +195,7 @@ namespace ANX.RenderSystem.GL3
GL.DeleteShader(vertexShaderHandle);
GL.DeleteShader(fragmentShaderHandle);
EffectTechniqueGL3 technique = new EffectTechniqueGL3(managedEffect, programName, programHandle);
EffectTechniqueGL3 technique = new EffectTechniqueGL3((EffectGL3)managedEffect.NativeEffect, programName, programHandle);
techniques.Add(new EffectTechnique(managedEffect, technique));
AddParametersFrom(programHandle, parameterNames, technique);
}
@ -248,15 +248,6 @@ namespace ANX.RenderSystem.GL3
}
#endregion
#region Apply
public void Apply(GraphicsDevice graphicsDevice)
{
GL.UseProgram(CurrentTechnique.programHandle);
GraphicsDeviceWindowsGL3.activeEffect = this;
ErrorHelper.Check("UseProgram");
}
#endregion
#region Dispose
/// <summary>
/// Dispose the native shader data.

View File

@ -597,5 +597,10 @@ namespace ANX.RenderSystem.GL3
}
#endregion
#endregion
}
public void Dispose()
{
throw new NotImplementedException();
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using ANX.Framework.NonXNA;
using OpenTK.Graphics.OpenGL;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
@ -9,6 +10,8 @@ namespace ANX.RenderSystem.GL3
{
public class EffectPassGL3 : INativeEffectPass
{
private EffectTechniqueGL3 parentTechnique;
public string Name
{
get
@ -16,5 +19,27 @@ namespace ANX.RenderSystem.GL3
return "p0";
}
}
}
public EffectPassGL3(EffectTechniqueGL3 parentTechnique)
{
this.parentTechnique = parentTechnique;
}
public Framework.Graphics.EffectAnnotationCollection Annotations
{
get { throw new NotImplementedException(); }
}
public void Apply()
{
GL.UseProgram(parentTechnique.programHandle);
GraphicsDeviceWindowsGL3.activeEffect = this.parentTechnique.Parent;
ErrorHelper.Check("UseProgram");
}
public void Dispose()
{
throw new NotImplementedException();
}
}
}

View File

@ -31,7 +31,7 @@ namespace ANX.RenderSystem.GL3
/// </summary>
private EffectPass pass;
private Effect parentEffect;
private EffectGL3 parentEffect;
#endregion
#region Public
@ -52,13 +52,18 @@ namespace ANX.RenderSystem.GL3
{
get { throw new NotImplementedException(); }
}
public EffectGL3 Parent
{
get { return parentEffect; }
}
#endregion
#region Constructor
/// <summary>
/// Create a ne effect technique object.
/// </summary>
internal EffectTechniqueGL3(Effect setParentEffect, string setName, int setProgramHandle)
internal EffectTechniqueGL3(EffectGL3 setParentEffect, string setName, int setProgramHandle)
{
parentEffect = setParentEffect;
Name = setName;
@ -66,7 +71,7 @@ namespace ANX.RenderSystem.GL3
GetAttributes();
pass = new EffectPass(parentEffect);
pass = new EffectPass(new EffectPassGL3(this));
}
#endregion
@ -83,5 +88,10 @@ namespace ANX.RenderSystem.GL3
}
}
#endregion
}
public void Dispose()
{
}
}
}

View File

@ -25,6 +25,7 @@ namespace ANX.RenderSystem.GL3
private GraphicsContext nativeContext;
private IWindowInfo nativeWindowInfo;
private GraphicsMode graphicsMode;
private IndexBuffer currentIndexBuffer;
private int cachedVersionMinor = -1;
private int cachedVersionMajor = -1;
@ -243,17 +244,17 @@ namespace ANX.RenderSystem.GL3
nativeContext.SwapBuffers();
}
}
public void Present(Rectangle? sourceRectangle, Rectangle? destinationRectangle, WindowHandle overrideWindowHandle)
{
throw new NotImplementedException();
}
#endregion
#region DrawIndexedPrimitives
public void DrawIndexedPrimitives(PrimitiveType primitiveType, int baseVertex, int minVertexIndex, int numVertices,
int startIndex, int primitiveCount, IndexBuffer indexBuffer)
int startIndex, int primitiveCount)
{
if (indexBuffer != null)
{
SetIndexBuffer(indexBuffer);
}
// TODO: baseVertex, minVertexIndex, numVertices, startIndex
DrawElementsType elementsType = boundIndexBuffer.elementSize == IndexElementSize.SixteenBits ?
DrawElementsType.UnsignedShort :
@ -270,13 +271,8 @@ namespace ANX.RenderSystem.GL3
#region DrawInstancedPrimitives (TODO)
public void DrawInstancedPrimitives(PrimitiveType primitiveType,
int baseVertex, int minVertexIndex, int numVertices, int startIndex,
int primitiveCount, int instanceCount, IndexBuffer indexBuffer)
int primitiveCount, int instanceCount)
{
if (indexBuffer != null)
{
SetIndexBuffer(indexBuffer);
}
//GL.DrawArraysInstanced(
// DatatypesMapping.PrimitiveTypeToBeginMode(primitiveType),
// baseVertex, numVertices, instanceCount);
@ -344,7 +340,6 @@ namespace ANX.RenderSystem.GL3
#endif
#endregion
#region SetVertexBuffers
public void SetVertexBuffers(VertexBufferBinding[] vertexBuffers)
{
boundVertexBuffers = new VertexBufferGL3[vertexBuffers.Length];
@ -355,16 +350,22 @@ namespace ANX.RenderSystem.GL3
nativeBuffer.Bind(activeEffect);
}
}
#endregion
#region SetIndexBuffer
public void SetIndexBuffer(IndexBuffer indexBuffer)
{
boundIndexBuffer = (IndexBufferGL3)indexBuffer.NativeIndexBuffer;
GL.BindBuffer(BufferTarget.ElementArrayBuffer, boundIndexBuffer.BufferHandle);
ErrorHelper.Check("BindBuffer");
}
#endregion
public IndexBuffer IndexBuffer
{
get
{
return this.currentIndexBuffer;
}
set
{
boundIndexBuffer = (IndexBufferGL3)value.NativeIndexBuffer;
GL.BindBuffer(BufferTarget.ElementArrayBuffer, boundIndexBuffer.BufferHandle);
ErrorHelper.Check("BindBuffer");
this.currentIndexBuffer = value;
}
}
#region ResizeRenderWindow
private void ResizeRenderWindow(PresentationParameters presentationParameters)
@ -473,5 +474,5 @@ namespace ANX.RenderSystem.GL3
}
}
#endregion
}
}
}

View File

@ -41,7 +41,6 @@ namespace VertexIndexBuffer
spriteBatch = new SpriteBatch(GraphicsDevice);
miniTriEffect = Content.Load<Effect>(@"Effects/MiniTri");
miniTriEffect.Parameters["world"].SetValue(Matrix.CreateTranslation(0.5f, 0.0f, 0.0f));
vb = new VertexBuffer(GraphicsDevice, VertexPositionColor.VertexDeclaration, 6, BufferUsage.None);
VertexPositionColor[] vertices = new[] { new VertexPositionColor( new Vector3(-0.75f, 0.25f, 0.5f), new Color(1.0f, 0.0f, 0.0f, 1.0f)),
@ -70,9 +69,6 @@ namespace VertexIndexBuffer
graphics.PreferredBackBufferHeight = 486;
graphics.PreferredDepthStencilFormat = DepthFormat.Depth24Stencil8;
graphics.ApplyChanges();
VertexPositionColor[] vertices23 = new VertexPositionColor[vb.VertexCount];
vb.GetData<VertexPositionColor>(vertices23);
}
protected override void Update(GameTime gameTime)

View File

@ -1,62 +1,211 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}"
EndProject
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsFormsEditor", "WindowsFormsEditor\WindowsFormsEditor.csproj", "{441D953C-94C2-42FD-9917-3EB2F6E28173}"
ProjectSection(ProjectDependencies) = postProject
{75EFAE60-726E-430F-8661-4CF9ABD1306C} = {75EFAE60-726E-430F-8661-4CF9ABD1306C}
EndProjectSection
EndProject
Project("{75EFAE60-726E-430F-8661-4CF9ABD1306C}") = "SampleContent", "SampleContent\SampleContent.cproj", "{75EFAE60-726E-430F-8661-4CF9ABD1306C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU
Debug|iOS = Debug|iOS
Debug|Linux = Debug|Linux
Debug|Mac OS = Debug|Mac OS
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|PS Vita = Debug|PS Vita
Debug|Windows = Debug|Windows
Debug|Windows Metro = Debug|Windows Metro
Debug|Windows Phone = Debug|Windows Phone
Debug|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU
DebugWin8|iOS = DebugWin8|iOS
DebugWin8|Linux = DebugWin8|Linux
DebugWin8|Mac OS = DebugWin8|Mac OS
DebugWin8|Mixed Platforms = DebugWin8|Mixed Platforms
DebugWin8|PS Vita = DebugWin8|PS Vita
DebugWin8|Windows = DebugWin8|Windows
DebugWin8|Windows Metro = DebugWin8|Windows Metro
DebugWin8|Windows Phone = DebugWin8|Windows Phone
DebugWin8|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU
Release|iOS = Release|iOS
Release|Linux = Release|Linux
Release|Mac OS = Release|Mac OS
Release|Mixed Platforms = Release|Mixed Platforms
Release|PS Vita = Release|PS Vita
Release|Windows = Release|Windows
Release|Windows Metro = Release|Windows Metro
Release|Windows Phone = Release|Windows Phone
Release|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU
ReleaseWin8|iOS = ReleaseWin8|iOS
ReleaseWin8|Linux = ReleaseWin8|Linux
ReleaseWin8|Mac OS = ReleaseWin8|Mac OS
ReleaseWin8|Mixed Platforms = ReleaseWin8|Mixed Platforms
ReleaseWin8|PS Vita = ReleaseWin8|PS Vita
ReleaseWin8|Windows = ReleaseWin8|Windows
ReleaseWin8|Windows Metro = ReleaseWin8|Windows Metro
ReleaseWin8|Windows Phone = ReleaseWin8|Windows Phone
ReleaseWin8|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.Build.0 = Debug|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Android.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|iOS.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Linux.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Mac OS.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Mixed Platforms.Build.0 = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|PS Vita.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Windows.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Windows Metro.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Windows Phone.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|x86.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|x86.Build.0 = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|XBox 360.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Android.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Any CPU.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|iOS.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Linux.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Mac OS.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Mixed Platforms.Build.0 = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|PS Vita.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Windows.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Windows Metro.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|Windows Phone.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|x86.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|x86.Build.0 = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Any CPU.ActiveCfg = Release|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Any CPU.Build.0 = Release|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.DebugWin8|XBox 360.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Android.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Any CPU.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|iOS.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Linux.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Mac OS.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Mixed Platforms.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Mixed Platforms.Build.0 = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|PS Vita.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Windows.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Windows Metro.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|Windows Phone.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|x86.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|x86.Build.0 = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Release|XBox 360.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Android.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Any CPU.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|iOS.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Linux.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Mac OS.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Mixed Platforms.Build.0 = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|PS Vita.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Windows.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Windows Metro.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|Windows Phone.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|x86.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|x86.Build.0 = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.ReleaseWin8|XBox 360.ActiveCfg = Release|x86
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.Build.0 = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Any CPU.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.ActiveCfg = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.Build.0 = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.ActiveCfg = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.Build.0 = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.ActiveCfg = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.Build.0 = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.ActiveCfg = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.Build.0 = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.ActiveCfg = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.Build.0 = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.ActiveCfg = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.Build.0 = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.ActiveCfg = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.Build.0 = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|x86.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.Build.0 = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Any CPU.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.ActiveCfg = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.Build.0 = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.ActiveCfg = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.Build.0 = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.ActiveCfg = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.Build.0 = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.ActiveCfg = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.Build.0 = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.ActiveCfg = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.Build.0 = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.ActiveCfg = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.Build.0 = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.ActiveCfg = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.Build.0 = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|x86.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.Build.0 = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Any CPU.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.ActiveCfg = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.Build.0 = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.ActiveCfg = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.Build.0 = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.ActiveCfg = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.Build.0 = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.ActiveCfg = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.Build.0 = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.ActiveCfg = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.Build.0 = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.ActiveCfg = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.Build.0 = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.ActiveCfg = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.Build.0 = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|x86.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.Build.0 = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Any CPU.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.ActiveCfg = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.Build.0 = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.ActiveCfg = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.Build.0 = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.ActiveCfg = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.Build.0 = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.ActiveCfg = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.Build.0 = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.ActiveCfg = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.Build.0 = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.Build.0 = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.Build.0 = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|x86.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.Build.0 = Release|XBox 360
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -36,6 +36,9 @@
<PropertyGroup>
<ApplicationIcon>anx.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
@ -57,31 +60,32 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.OpenAL\ANX.SoundSystem.OpenAL.csproj">
<Project>{14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}</Project>
<Name>ANX.SoundSystem.OpenAL</Name>
</ProjectReference>
<Reference Include="ANX.Framework">
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput">
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard">
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows">
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="anx.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@ -1,58 +1,211 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}"
EndProject
# Visual Studio 2013
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsGame", "WindowsGame\WindowsGame.csproj", "{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}"
ProjectSection(ProjectDependencies) = postProject
{75EFAE60-726E-430F-8661-4CF9ABD1306C} = {75EFAE60-726E-430F-8661-4CF9ABD1306C}
EndProjectSection
EndProject
Project("{75EFAE60-726E-430F-8661-4CF9ABD1306C}") = "SampleContent", "SampleContent\SampleContent.cproj", "{75EFAE60-726E-430F-8661-4CF9ABD1306C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU
Debug|iOS = Debug|iOS
Debug|Linux = Debug|Linux
Debug|Mac OS = Debug|Mac OS
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|PS Vita = Debug|PS Vita
Debug|Windows = Debug|Windows
Debug|Windows Metro = Debug|Windows Metro
Debug|Windows Phone = Debug|Windows Phone
Debug|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU
DebugWin8|iOS = DebugWin8|iOS
DebugWin8|Linux = DebugWin8|Linux
DebugWin8|Mac OS = DebugWin8|Mac OS
DebugWin8|Mixed Platforms = DebugWin8|Mixed Platforms
DebugWin8|PS Vita = DebugWin8|PS Vita
DebugWin8|Windows = DebugWin8|Windows
DebugWin8|Windows Metro = DebugWin8|Windows Metro
DebugWin8|Windows Phone = DebugWin8|Windows Phone
DebugWin8|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU
Release|iOS = Release|iOS
Release|Linux = Release|Linux
Release|Mac OS = Release|Mac OS
Release|Mixed Platforms = Release|Mixed Platforms
Release|PS Vita = Release|PS Vita
Release|Windows = Release|Windows
Release|Windows Metro = Release|Windows Metro
Release|Windows Phone = Release|Windows Phone
Release|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU
ReleaseWin8|iOS = ReleaseWin8|iOS
ReleaseWin8|Linux = ReleaseWin8|Linux
ReleaseWin8|Mac OS = ReleaseWin8|Mac OS
ReleaseWin8|Mixed Platforms = ReleaseWin8|Mixed Platforms
ReleaseWin8|PS Vita = ReleaseWin8|PS Vita
ReleaseWin8|Windows = ReleaseWin8|Windows
ReleaseWin8|Windows Metro = ReleaseWin8|Windows Metro
ReleaseWin8|Windows Phone = ReleaseWin8|Windows Phone
ReleaseWin8|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Android.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Any CPU.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|iOS.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Linux.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Mac OS.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Mixed Platforms.Build.0 = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|PS Vita.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Windows.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Windows Metro.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|Windows Phone.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|x86.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|x86.Build.0 = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Debug|XBox 360.ActiveCfg = Debug|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Android.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Any CPU.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|iOS.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Linux.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Mac OS.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Mixed Platforms.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Mixed Platforms.Build.0 = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|PS Vita.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Windows.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Windows Metro.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|Windows Phone.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|x86.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|x86.Build.0 = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.DebugWin8|XBox 360.ActiveCfg = DebugWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Android.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Any CPU.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|iOS.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Linux.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Mac OS.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Mixed Platforms.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Mixed Platforms.Build.0 = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|PS Vita.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Windows.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Windows Metro.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|Windows Phone.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|x86.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|x86.Build.0 = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.Release|XBox 360.ActiveCfg = Release|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Android.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Any CPU.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|iOS.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Linux.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Mac OS.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Mixed Platforms.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Mixed Platforms.Build.0 = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|PS Vita.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Windows.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Windows Metro.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|Windows Phone.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|x86.ActiveCfg = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|x86.Build.0 = ReleaseWin8|x86
{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}.ReleaseWin8|XBox 360.ActiveCfg = ReleaseWin8|x86
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.Build.0 = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Any CPU.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.ActiveCfg = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.Build.0 = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.ActiveCfg = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.Build.0 = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.ActiveCfg = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.Build.0 = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.ActiveCfg = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.Build.0 = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.ActiveCfg = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.Build.0 = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.ActiveCfg = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.Build.0 = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.ActiveCfg = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.Build.0 = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|x86.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.Build.0 = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Any CPU.ActiveCfg = Debug|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.ActiveCfg = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.Build.0 = Debug|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.ActiveCfg = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.Build.0 = Debug|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.ActiveCfg = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.Build.0 = Debug|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.ActiveCfg = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.Build.0 = Debug|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.ActiveCfg = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.Build.0 = Debug|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.ActiveCfg = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.Build.0 = Debug|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.ActiveCfg = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.Build.0 = Debug|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|x86.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.ActiveCfg = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.Build.0 = Debug|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.Build.0 = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Any CPU.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.ActiveCfg = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.Build.0 = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.ActiveCfg = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.Build.0 = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.ActiveCfg = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.Build.0 = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.ActiveCfg = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.Build.0 = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.ActiveCfg = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.Build.0 = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.ActiveCfg = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.Build.0 = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.ActiveCfg = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.Build.0 = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|x86.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.Build.0 = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Any CPU.ActiveCfg = Release|Android
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.ActiveCfg = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.Build.0 = Release|iOS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.ActiveCfg = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.Build.0 = Release|Linux
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.ActiveCfg = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.Build.0 = Release|Mac OS
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.Build.0 = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.ActiveCfg = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.Build.0 = Release|PS Vita
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.ActiveCfg = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.Build.0 = Release|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.Build.0 = Release|Windows Metro
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.Build.0 = Release|Windows Phone
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|x86.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.ActiveCfg = Release|XBox 360
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.Build.0 = Release|XBox 360
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -31,11 +31,11 @@ namespace WindowsGame1
}
cbRenderSystem.SelectedItem = AddInSystemFactory.Instance.GetDefaultCreator<IRenderSystemCreator>().Name;
foreach (IInputSystemCreator inputSystemCreator in AddInSystemFactory.Instance.GetAvailableCreators<IInputSystemCreator>())
foreach (var providerName in InputDeviceFactory.Instance.Providers.Select((x) => x.Key))
{
cbInputSystem.Items.Add(inputSystemCreator.Name);
cbInputSystem.Items.Add(providerName);
}
cbInputSystem.SelectedItem = AddInSystemFactory.Instance.GetDefaultCreator<IInputSystemCreator>().Name;
cbInputSystem.SelectedItem = InputDeviceFactory.Instance.Providers.Select((x) => x.Key).First();
foreach (ISoundSystemCreator soundSystemCreator in AddInSystemFactory.Instance.GetAvailableCreators<ISoundSystemCreator>())
{

View File

@ -20,7 +20,7 @@ namespace WindowsGame1
{
AddInSystemFactory.Instance.SetPreferredSystem(AddInType.RenderSystem, selector.cbRenderSystem.Text);
AddInSystemFactory.Instance.SetPreferredSystem(AddInType.SoundSystem, selector.cbAudioSystem.Text);
AddInSystemFactory.Instance.SetPreferredSystem(AddInType.InputSystem, selector.cbInputSystem.Text);
InputDeviceFactory.Instance.PrefferedProvider = selector.cbInputSystem.Text;
using (Game1 game = new Game1())
{

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<ProjectGuid>{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<OutputType>WinExe</OutputType>
@ -12,11 +12,6 @@
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>HiDef</XnaProfile>
<XnaCrossPlatformGroupID>f406a178-479b-429f-b5db-560239a287dd</XnaCrossPlatformGroupID>
<XnaOutputType>Game</XnaOutputType>
<ApplicationIcon>anx.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
<PublishUrl>publish\</PublishUrl>
@ -46,7 +41,6 @@
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
@ -58,7 +52,6 @@
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
<XnaCompressContent>True</XnaCompressContent>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWin8|x86'">
<OutputPath>bin\x86\DebugWin8\</OutputPath>
@ -82,6 +75,9 @@
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
</PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
@ -110,6 +106,14 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="..\..\packages\SharpDX.Direct3D11.Effects.2.6.3\Content\sharpdx_direct3d11_effects_x64.dll">
<Link>sharpdx_direct3d11_effects_x64.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="..\..\packages\SharpDX.Direct3D11.Effects.2.6.3\Content\sharpdx_direct3d11_effects_x86.dll">
<Link>sharpdx_direct3d11_effects_x86.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="anx.ico" />
<Content Include="GameThumbnail.png">
<XnaPlatformSpecific>true</XnaPlatformSpecific>
@ -117,55 +121,39 @@
<None Include="Resources\ANX.Framework.Logo_459x121.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.OpenTK\ANX.InputDevices.OpenTK.csproj">
<Project>{5CA3CDF5-4D2C-42AC-AD08-641BD3992B75}</Project>
<Name>ANX.InputDevices.OpenTK</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
<Name>ANX.PlatformSystem.Windows</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.Framework.GL3\ANX.RenderSystem.GL3.csproj">
<Project>{eb8258e0-6741-4db9-b756-1ebdf67b1ed6}</Project>
<Name>ANX.RenderSystem.GL3</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX11\ANX.RenderSystem.Windows.DX11.csproj">
<Project>{B30DE9C2-0926-46B6-8351-9AF276C472D5}</Project>
<Name>ANX.RenderSystem.Windows.DX11</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Null\ANX.SoundSystem.Null.csproj">
<Project>{c4ddffff-595e-4089-b499-06f68caf2566}</Project>
<Name>ANX.SoundSystem.Null</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.OpenAL\ANX.SoundSystem.OpenAL.csproj">
<Project>{14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}</Project>
<Name>ANX.SoundSystem.OpenAL</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Windows.XAudio\ANX.SoundSystem.Windows.XAudio.csproj">
<Project>{6A582788-C4D2-410C-96CD-177F75712D65}</Project>
<Name>ANX.SoundSystem.Windows.XAudio</Name>
</ProjectReference>
<ProjectReference Include="..\SampleContent\SampleContent.contentproj">
<Project>{FA6E229D-4504-47B1-8A23-2D3FCC13F778}</Project>
<Name>SampleContent</Name>
<XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
<Reference Include="ANX.Framework">
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput">
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.OpenTK">
<HintPath>..\..\bin\Debug\ANX.InputDevices.OpenTK.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard">
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows">
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX11">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX11.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.GL3">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.GL3.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Null">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Null.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.OpenAL">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.OpenAL.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
@ -202,7 +190,9 @@
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" />
<PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<repositories>
<repository path="..\ANX.Framework.Content.Pipeline.Assimp\packages.config" />
<repository path="..\InputSystems\ANX.InputDevices.OpenTK\packages.config" />
<repository path="..\InputSystems\ANX.InputDevices.Windows.ModernUI\packages.config" />
<repository path="..\InputSystems\ANX.InputDevices.Windows.XInput\packages.config" />
<repository path="..\RenderSystems\ANX.Framework.GL3\packages.config" />