mirror of
https://github.com/Memorix101/UnityXNA/
synced 2024-12-30 15:25:35 +01:00
Merge pull request #1 from SiENcE/master
Merged SiENcE's changes - new classes from MonoGame
This commit is contained in:
commit
5f120f70f8
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b5d2568b352f8554d9f166fb8089199b
|
116
Assets/Scripts/XNAEmulator/DrawableGameComponent.cs
Normal file
116
Assets/Scripts/XNAEmulator/DrawableGameComponent.cs
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
Microsoft Public License (Ms-PL)
|
||||||
|
MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
accept the license, do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
U.S. copyright law.
|
||||||
|
|
||||||
|
A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
your patent license from such contributor to the software ends automatically.
|
||||||
|
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
notices that are present in the software.
|
||||||
|
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
code form, you may only do so under a license that complies with this license.
|
||||||
|
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose and non-infringement.
|
||||||
|
*/
|
||||||
|
#endregion License
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public class DrawableGameComponent : GameComponent, IDrawable
|
||||||
|
{
|
||||||
|
private bool _isInitialized;
|
||||||
|
private bool _isVisible;
|
||||||
|
private int _drawOrder;
|
||||||
|
|
||||||
|
public event EventHandler<EventArgs> DrawOrderChanged;
|
||||||
|
public event EventHandler<EventArgs> VisibleChanged;
|
||||||
|
|
||||||
|
public DrawableGameComponent(Game game)
|
||||||
|
: base(game)
|
||||||
|
{
|
||||||
|
Visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
if (!_isInitialized)
|
||||||
|
{
|
||||||
|
_isInitialized = true;
|
||||||
|
LoadContent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void LoadContent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void UnloadContent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#region IDrawable Members
|
||||||
|
|
||||||
|
public int DrawOrder
|
||||||
|
{
|
||||||
|
get { return _drawOrder; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_drawOrder = value;
|
||||||
|
if(DrawOrderChanged != null)
|
||||||
|
DrawOrderChanged(this, null);
|
||||||
|
|
||||||
|
OnDrawOrderChanged(this, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Visible
|
||||||
|
{
|
||||||
|
get { return _isVisible; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_isVisible != value)
|
||||||
|
{
|
||||||
|
_isVisible = value;
|
||||||
|
|
||||||
|
var handler = VisibleChanged;
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, EventArgs.Empty);
|
||||||
|
|
||||||
|
OnVisibleChanged(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void Draw(GameTime gameTime) { }
|
||||||
|
protected virtual void OnVisibleChanged(object sender, EventArgs args) { }
|
||||||
|
protected virtual void OnDrawOrderChanged(object sender, EventArgs args) { }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
7
Assets/Scripts/XNAEmulator/DrawableGameComponent.cs.meta
Normal file
7
Assets/Scripts/XNAEmulator/DrawableGameComponent.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4f5da85797380c147bc9b2325bbf9f77
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -9,6 +9,7 @@ namespace Microsoft.Xna.Framework
|
|||||||
{
|
{
|
||||||
public class Game : IDisposable
|
public class Game : IDisposable
|
||||||
{
|
{
|
||||||
|
private GameComponentCollection _components;
|
||||||
Content.ContentManager content;
|
Content.ContentManager content;
|
||||||
GraphicsDevice graphicsDevice;
|
GraphicsDevice graphicsDevice;
|
||||||
DrawQueue drawQueue;
|
DrawQueue drawQueue;
|
||||||
@ -43,12 +44,20 @@ namespace Microsoft.Xna.Framework
|
|||||||
{
|
{
|
||||||
content = new ContentManager(null, "");
|
content = new ContentManager(null, "");
|
||||||
|
|
||||||
|
_components = new GameComponentCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void Update(GameTime gameTime)
|
protected virtual void Update(GameTime gameTime)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GameComponentCollection Components
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this._components;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected virtual void Draw(GameTime gameTime)
|
protected virtual void Draw(GameTime gameTime)
|
||||||
{
|
{
|
||||||
|
142
Assets/Scripts/XNAEmulator/GameComponent.cs
Normal file
142
Assets/Scripts/XNAEmulator/GameComponent.cs
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
Microsoft Public License (Ms-PL)
|
||||||
|
MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
accept the license, do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
U.S. copyright law.
|
||||||
|
|
||||||
|
A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
your patent license from such contributor to the software ends automatically.
|
||||||
|
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
notices that are present in the software.
|
||||||
|
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
code form, you may only do so under a license that complies with this license.
|
||||||
|
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose and non-infringement.
|
||||||
|
*/
|
||||||
|
#endregion License
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public class GameComponent : IGameComponent, IUpdateable, IComparable<GameComponent>, IDisposable
|
||||||
|
{
|
||||||
|
Game _game;
|
||||||
|
int _updateOrder;
|
||||||
|
bool _enabled;
|
||||||
|
public event EventHandler<EventArgs> UpdateOrderChanged;
|
||||||
|
public event EventHandler<EventArgs> EnabledChanged;
|
||||||
|
public GameComponent(Game game)
|
||||||
|
{
|
||||||
|
_game = game;
|
||||||
|
Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Game Game
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _game;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void Initialize()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void Update(GameTime gameTime)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Graphics.GraphicsDevice GraphicsDevice
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _game.GraphicsDevice;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Enabled
|
||||||
|
{
|
||||||
|
get { return _enabled; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_enabled = value;
|
||||||
|
Raise(EnabledChanged, EventArgs.Empty);
|
||||||
|
OnEnabledChanged(this, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int UpdateOrder
|
||||||
|
{
|
||||||
|
get { return _updateOrder; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_updateOrder = value;
|
||||||
|
Raise(UpdateOrderChanged, EventArgs.Empty);
|
||||||
|
OnUpdateOrderChanged(this, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Raise(EventHandler<EventArgs> handler, EventArgs e)
|
||||||
|
{
|
||||||
|
if (handler != null)
|
||||||
|
handler(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void OnUpdateOrderChanged(object sender, EventArgs args)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void OnEnabledChanged(object sender, EventArgs args)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shuts down the component.
|
||||||
|
/// </summary>
|
||||||
|
protected virtual void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shuts down the component.
|
||||||
|
/// </summary>
|
||||||
|
public virtual void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region IComparable<GameComponent> Members
|
||||||
|
|
||||||
|
public int CompareTo(GameComponent other)
|
||||||
|
{
|
||||||
|
return other.UpdateOrder - this.UpdateOrder;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
7
Assets/Scripts/XNAEmulator/GameComponent.cs.meta
Normal file
7
Assets/Scripts/XNAEmulator/GameComponent.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6effffe4d4b43174bbec9f73f7159caf
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
106
Assets/Scripts/XNAEmulator/GameComponentCollection.cs
Normal file
106
Assets/Scripts/XNAEmulator/GameComponentCollection.cs
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public sealed class GameComponentCollection : Collection<IGameComponent>
|
||||||
|
{
|
||||||
|
public event EventHandler<GameComponentCollectionEventArgs> ComponentAdded;
|
||||||
|
|
||||||
|
public event EventHandler<GameComponentCollectionEventArgs> ComponentRemoved;
|
||||||
|
|
||||||
|
protected override void ClearItems()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < base.Count; i++)
|
||||||
|
{
|
||||||
|
this.OnComponentRemoved(new GameComponentCollectionEventArgs(base[i]));
|
||||||
|
}
|
||||||
|
base.ClearItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void InsertItem(int index, IGameComponent item)
|
||||||
|
{
|
||||||
|
if (base.IndexOf(item) != -1)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Cannot Add Same Component Multiple Times");
|
||||||
|
}
|
||||||
|
base.InsertItem(index, item);
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
this.OnComponentAdded(new GameComponentCollectionEventArgs(item));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnComponentAdded(GameComponentCollectionEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
if (this.ComponentAdded != null)
|
||||||
|
{
|
||||||
|
this.ComponentAdded(this, eventArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnComponentRemoved(GameComponentCollectionEventArgs eventArgs)
|
||||||
|
{
|
||||||
|
if (this.ComponentRemoved != null)
|
||||||
|
{
|
||||||
|
this.ComponentRemoved(this, eventArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void RemoveItem(int index)
|
||||||
|
{
|
||||||
|
IGameComponent gameComponent = base[index];
|
||||||
|
base.RemoveItem(index);
|
||||||
|
if (gameComponent != null)
|
||||||
|
{
|
||||||
|
this.OnComponentRemoved(new GameComponentCollectionEventArgs(gameComponent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void SetItem(int index, IGameComponent item)
|
||||||
|
{
|
||||||
|
throw new NotSupportedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 98c482b2094b63a4883be38d30f3e1e7
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -0,0 +1,63 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public class GameComponentCollectionEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
private IGameComponent _gameComponent;
|
||||||
|
|
||||||
|
public GameComponentCollectionEventArgs(IGameComponent gameComponent)
|
||||||
|
{
|
||||||
|
_gameComponent = gameComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IGameComponent GameComponent
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _gameComponent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 90c5eeb40cf5ab54abd604dfbcb717e3
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
2
Assets/Scripts/XNAEmulator/Graphics/Effect.meta
Normal file
2
Assets/Scripts/XNAEmulator/Graphics/Effect.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1bc05554bc1744041a5be8169895e0c1
|
60
Assets/Scripts/XNAEmulator/Graphics/Effect/Effect.cs
Normal file
60
Assets/Scripts/XNAEmulator/Graphics/Effect/Effect.cs
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
//
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public class Effect : GraphicsResource
|
||||||
|
{
|
||||||
|
internal Effect(GraphicsDevice graphicsDevice)
|
||||||
|
{
|
||||||
|
if (graphicsDevice == null)
|
||||||
|
throw new ArgumentNullException ("Graphics Device Cannot Be Null");
|
||||||
|
|
||||||
|
this.graphicsDevice = graphicsDevice;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d2e4facfb8a731f4e94e64dd64525246
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
86
Assets/Scripts/XNAEmulator/Graphics/GraphicsResource.cs
Normal file
86
Assets/Scripts/XNAEmulator/Graphics/GraphicsResource.cs
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
//
|
||||||
|
using System;
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public abstract class GraphicsResource : IDisposable
|
||||||
|
{
|
||||||
|
private bool disposed;
|
||||||
|
|
||||||
|
protected GraphicsDevice graphicsDevice;
|
||||||
|
|
||||||
|
protected virtual void DoDisposing(EventArgs e)
|
||||||
|
{
|
||||||
|
if (Disposing != null)
|
||||||
|
Disposing(this, e);
|
||||||
|
|
||||||
|
disposed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void Dispose()
|
||||||
|
{
|
||||||
|
DoDisposing(EventArgs.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
public event EventHandler<EventArgs> Disposing;
|
||||||
|
|
||||||
|
public GraphicsDevice GraphicsDevice
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return graphicsDevice;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsDisposed
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return disposed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public Object Tag { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f37e48495b25fa341a6cb54c0a207312
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -5,29 +5,124 @@ using System.Text;
|
|||||||
|
|
||||||
namespace Microsoft.Xna.Framework.Graphics
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
{
|
{
|
||||||
public class SpriteBatch
|
public class SpriteBatch : GraphicsResource
|
||||||
{
|
{
|
||||||
private GraphicsDevice graphicsDevice;
|
private GraphicsDevice graphicsDevice;
|
||||||
|
|
||||||
|
Vector2 texCoordTL = new Vector2 (0,0);
|
||||||
|
Vector2 texCoordBR = new Vector2 (0,0);
|
||||||
|
Rectangle tempRect = new Rectangle (0,0,0,0);
|
||||||
|
|
||||||
public SpriteBatch(GraphicsDevice graphicsDevice)
|
public SpriteBatch(GraphicsDevice graphicsDevice)
|
||||||
{
|
{
|
||||||
|
if (graphicsDevice == null) {
|
||||||
|
throw new ArgumentException ("graphicsDevice");
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Complete member initialization
|
// TODO: Complete member initialization
|
||||||
this.graphicsDevice = graphicsDevice;
|
this.graphicsDevice = graphicsDevice;
|
||||||
}
|
}
|
||||||
internal void Begin()
|
|
||||||
{
|
public void Begin ()
|
||||||
|
{
|
||||||
|
Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise, null, Matrix.Identity);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
public void Begin (SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect, Matrix transformMatrix)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
// defaults
|
||||||
|
_sortMode = sortMode;
|
||||||
|
_blendState = blendState ?? BlendState.AlphaBlend;
|
||||||
|
_samplerState = samplerState ?? SamplerState.LinearClamp;
|
||||||
|
_depthStencilState = depthStencilState ?? DepthStencilState.None;
|
||||||
|
_rasterizerState = rasterizerState ?? RasterizerState.CullCounterClockwise;
|
||||||
|
|
||||||
|
_effect = effect;
|
||||||
|
|
||||||
|
_matrix = transformMatrix;
|
||||||
|
|
||||||
|
|
||||||
|
if (sortMode == SpriteSortMode.Immediate) {
|
||||||
|
//setup things now so a user can chage them
|
||||||
|
Setup();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Begin (SpriteSortMode sortMode, BlendState blendState)
|
||||||
|
{
|
||||||
|
Begin (sortMode, blendState, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise, null, Matrix.Identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Begin (SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState)
|
||||||
|
{
|
||||||
|
Begin (sortMode, blendState, samplerState, depthStencilState, rasterizerState, null, Matrix.Identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Begin (SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect)
|
||||||
|
{
|
||||||
|
Begin (sortMode, blendState, samplerState, depthStencilState, rasterizerState, effect, Matrix.Identity);
|
||||||
|
}
|
||||||
|
|
||||||
internal void End()
|
internal void End()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void Draw(Texture2D texture2D, Vector2 position, Nullable<Rectangle> source, Color color, float p, Vector2 Origin, float p_2, SpriteEffects spriteEffects, float p_3)
|
internal void Draw(Texture2D texture2D, Vector2 position, Nullable<Rectangle> source, Color color, float p, Vector2 Origin, float p_2, SpriteEffects spriteEffects, float p_3)
|
||||||
{
|
{
|
||||||
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture2D, position, source, color.ToVector4(), Origin, spriteEffects));
|
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture2D, position, source, color.ToVector4(), Origin, spriteEffects));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: Draw stretching
|
||||||
|
internal void Draw(Texture2D texture2D, Nullable<Rectangle> source, Color color)
|
||||||
|
{
|
||||||
|
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture2D, Vector2.Zero, source, color.ToVector4(), Vector2.Zero, SpriteEffects.None));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Draw texture section
|
||||||
|
internal void Draw(Texture2D texture2D, Vector2 position, Nullable<Rectangle> source, Color color)
|
||||||
|
{
|
||||||
|
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture2D, position, source, color.ToVector4(), Vector2.Zero, SpriteEffects.None));
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO:
|
||||||
|
internal void Draw (Texture2D texture, Nullable<Rectangle> source, Rectangle? sourceRectangle, Color color, float rotation, Vector2 origin, SpriteEffects effect, float depth)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
if (sourceRectangle.HasValue) {
|
||||||
|
tempRect = sourceRectangle.Value;
|
||||||
|
} else {
|
||||||
|
tempRect.X = 0;
|
||||||
|
tempRect.Y = 0;
|
||||||
|
tempRect.Width = texture.Width;
|
||||||
|
tempRect.Height = texture.Height;
|
||||||
|
}
|
||||||
|
|
||||||
|
texCoordTL.X = tempRect.X / (float)texture.Width;
|
||||||
|
texCoordTL.Y = tempRect.Y / (float)texture.Height;
|
||||||
|
texCoordBR.X = (tempRect.X + tempRect.Width) / (float)texture.Width;
|
||||||
|
texCoordBR.Y = (tempRect.Y + tempRect.Height) / (float)texture.Height;
|
||||||
|
|
||||||
|
if ((effect & SpriteEffects.FlipVertically) != 0) {
|
||||||
|
float temp = texCoordBR.Y;
|
||||||
|
texCoordBR.Y = texCoordTL.Y;
|
||||||
|
texCoordTL.Y = temp;
|
||||||
|
}
|
||||||
|
if ((effect & SpriteEffects.FlipHorizontally) != 0) {
|
||||||
|
float temp = texCoordBR.X;
|
||||||
|
texCoordBR.X = texCoordTL.X;
|
||||||
|
texCoordTL.X = temp;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture, Vector2.Zero, source, color.ToVector4(), Vector2.Zero, SpriteEffects.None));
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO:
|
||||||
|
internal void Draw (Texture2D texture, Nullable<Rectangle> source, Rectangle? sourceRectangle, Color color)
|
||||||
|
{
|
||||||
|
graphicsDevice.DrawQueue.EnqueueSprite(new DrawSpriteCall(texture, Vector2.Zero, source, color.ToVector4(), Vector2.Zero, SpriteEffects.None));
|
||||||
|
}
|
||||||
|
|
||||||
internal void Draw(Texture2D texture2D, Vector2 position, Color color)
|
internal void Draw(Texture2D texture2D, Vector2 position, Color color)
|
||||||
{
|
{
|
||||||
|
2
Assets/Scripts/XNAEmulator/Graphics/States.meta
Normal file
2
Assets/Scripts/XNAEmulator/Graphics/States.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f20fbbe0311148647b9c5587258d26d1
|
138
Assets/Scripts/XNAEmulator/Graphics/States/BlendState.cs
Normal file
138
Assets/Scripts/XNAEmulator/Graphics/States/BlendState.cs
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
//
|
||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public class BlendState : GraphicsResource
|
||||||
|
{
|
||||||
|
// TODO: We should be asserting if the state has
|
||||||
|
// been changed after it has been bound to the device!
|
||||||
|
|
||||||
|
public BlendFunction AlphaBlendFunction { get; set; }
|
||||||
|
public Blend AlphaDestinationBlend { get; set; }
|
||||||
|
public Blend AlphaSourceBlend { get; set; }
|
||||||
|
public Color BlendFactor { get; set; }
|
||||||
|
public BlendFunction ColorBlendFunction { get; set; }
|
||||||
|
public Blend ColorDestinationBlend { get; set; }
|
||||||
|
public Blend ColorSourceBlend { get; set; }
|
||||||
|
public ColorWriteChannels ColorWriteChannels { get; set; }
|
||||||
|
public ColorWriteChannels ColorWriteChannels1 { get; set; }
|
||||||
|
public ColorWriteChannels ColorWriteChannels2 { get; set; }
|
||||||
|
public ColorWriteChannels ColorWriteChannels3 { get; set; }
|
||||||
|
public int MultiSampleMask { get; set; }
|
||||||
|
|
||||||
|
public static readonly BlendState Additive;
|
||||||
|
public static readonly BlendState AlphaBlend;
|
||||||
|
public static readonly BlendState NonPremultiplied;
|
||||||
|
public static readonly BlendState Opaque;
|
||||||
|
|
||||||
|
public BlendState()
|
||||||
|
{
|
||||||
|
AlphaBlendFunction = BlendFunction.Add;
|
||||||
|
AlphaDestinationBlend = Blend.Zero;
|
||||||
|
AlphaSourceBlend = Blend.One;
|
||||||
|
BlendFactor = Color.White;
|
||||||
|
ColorBlendFunction = BlendFunction.Add;
|
||||||
|
ColorDestinationBlend = Blend.Zero;
|
||||||
|
ColorSourceBlend = Blend.One;
|
||||||
|
ColorWriteChannels = ColorWriteChannels.All;
|
||||||
|
ColorWriteChannels1 = ColorWriteChannels.All;
|
||||||
|
ColorWriteChannels2 = ColorWriteChannels.All;
|
||||||
|
ColorWriteChannels3 = ColorWriteChannels.All;
|
||||||
|
MultiSampleMask = Int32.MaxValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BlendState()
|
||||||
|
{
|
||||||
|
Additive = new BlendState()
|
||||||
|
{
|
||||||
|
ColorSourceBlend = Blend.SourceAlpha,
|
||||||
|
AlphaSourceBlend = Blend.SourceAlpha,
|
||||||
|
ColorDestinationBlend = Blend.One,
|
||||||
|
AlphaDestinationBlend = Blend.One
|
||||||
|
};
|
||||||
|
|
||||||
|
AlphaBlend = new BlendState()
|
||||||
|
{
|
||||||
|
ColorSourceBlend = Blend.One,
|
||||||
|
AlphaSourceBlend = Blend.One,
|
||||||
|
ColorDestinationBlend = Blend.InverseSourceAlpha,
|
||||||
|
AlphaDestinationBlend = Blend.InverseSourceAlpha
|
||||||
|
};
|
||||||
|
|
||||||
|
NonPremultiplied = new BlendState()
|
||||||
|
{
|
||||||
|
ColorSourceBlend = Blend.SourceAlpha,
|
||||||
|
AlphaSourceBlend = Blend.SourceAlpha,
|
||||||
|
ColorDestinationBlend = Blend.InverseSourceAlpha,
|
||||||
|
AlphaDestinationBlend = Blend.InverseSourceAlpha
|
||||||
|
};
|
||||||
|
|
||||||
|
Opaque = new BlendState()
|
||||||
|
{
|
||||||
|
ColorSourceBlend = Blend.One,
|
||||||
|
AlphaSourceBlend = Blend.One,
|
||||||
|
ColorDestinationBlend = Blend.Zero,
|
||||||
|
AlphaDestinationBlend = Blend.Zero
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString ()
|
||||||
|
{
|
||||||
|
string blendStateName;
|
||||||
|
|
||||||
|
if(this == BlendState.Additive)
|
||||||
|
blendStateName = "Additive";
|
||||||
|
else if (this == BlendState.AlphaBlend)
|
||||||
|
blendStateName = "AlphaBlend";
|
||||||
|
else if (this == BlendState.NonPremultiplied)
|
||||||
|
blendStateName = "NonPremultiplied";
|
||||||
|
else
|
||||||
|
blendStateName = "Opaque";
|
||||||
|
|
||||||
|
|
||||||
|
return string.Format("{0}.{1}", base.ToString(), blendStateName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 20ab82e73bf7a0346bd3019540d9f860
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -0,0 +1,74 @@
|
|||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public class DepthStencilState : GraphicsResource
|
||||||
|
{
|
||||||
|
// TODO: We should be asserting if the state has
|
||||||
|
// been changed after it has been bound to the device!
|
||||||
|
|
||||||
|
public bool DepthBufferEnable { get; set; }
|
||||||
|
public bool DepthBufferWriteEnable { get; set; }
|
||||||
|
public StencilOperation CounterClockwiseStencilDepthBufferFail { get; set; }
|
||||||
|
public StencilOperation CounterClockwiseStencilFail { get; set; }
|
||||||
|
public CompareFunction CounterClockwiseStencilFunction { get; set; }
|
||||||
|
public StencilOperation CounterClockwiseStencilPass { get; set; }
|
||||||
|
public CompareFunction DepthBufferFunction { get; set; }
|
||||||
|
public int ReferenceStencil { get; set; }
|
||||||
|
public StencilOperation StencilDepthBufferFail { get; set; }
|
||||||
|
public bool StencilEnable { get; set; }
|
||||||
|
public StencilOperation StencilFail { get; set; }
|
||||||
|
public CompareFunction StencilFunction { get; set; }
|
||||||
|
public int StencilMask { get; set; }
|
||||||
|
public StencilOperation StencilPass { get; set; }
|
||||||
|
public int StencilWriteMask { get; set; }
|
||||||
|
public bool TwoSidedStencilMode { get; set; }
|
||||||
|
|
||||||
|
public DepthStencilState ()
|
||||||
|
{
|
||||||
|
DepthBufferEnable = true;
|
||||||
|
DepthBufferWriteEnable = true;
|
||||||
|
DepthBufferFunction = CompareFunction.LessEqual;
|
||||||
|
StencilEnable = false;
|
||||||
|
StencilFunction = CompareFunction.Always;
|
||||||
|
StencilPass = StencilOperation.Keep;
|
||||||
|
StencilFail = StencilOperation.Keep;
|
||||||
|
StencilDepthBufferFail = StencilOperation.Keep;
|
||||||
|
TwoSidedStencilMode = false;
|
||||||
|
CounterClockwiseStencilFunction = CompareFunction.Always;
|
||||||
|
CounterClockwiseStencilFail = StencilOperation.Keep;
|
||||||
|
CounterClockwiseStencilPass = StencilOperation.Keep;
|
||||||
|
CounterClockwiseStencilDepthBufferFail = StencilOperation.Keep;
|
||||||
|
StencilMask = Int32.MaxValue;
|
||||||
|
StencilWriteMask = Int32.MaxValue;
|
||||||
|
ReferenceStencil = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly DepthStencilState Default;
|
||||||
|
public static readonly DepthStencilState DepthRead;
|
||||||
|
public static readonly DepthStencilState None;
|
||||||
|
|
||||||
|
static DepthStencilState ()
|
||||||
|
{
|
||||||
|
Default = new DepthStencilState ()
|
||||||
|
{
|
||||||
|
DepthBufferEnable = true,
|
||||||
|
DepthBufferWriteEnable = true
|
||||||
|
};
|
||||||
|
|
||||||
|
DepthRead = new DepthStencilState ()
|
||||||
|
{
|
||||||
|
DepthBufferEnable = true,
|
||||||
|
DepthBufferWriteEnable = false
|
||||||
|
};
|
||||||
|
|
||||||
|
None = new DepthStencilState ()
|
||||||
|
{
|
||||||
|
DepthBufferEnable = false,
|
||||||
|
DepthBufferWriteEnable = false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ce475ce415377b54d9116017c80b66f5
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public class RasterizerState : GraphicsResource
|
||||||
|
{
|
||||||
|
// TODO: We should be asserting if the state has
|
||||||
|
// been changed after it has been bound to the device!
|
||||||
|
|
||||||
|
public CullMode CullMode { get; set; }
|
||||||
|
public float DepthBias { get; set; }
|
||||||
|
public FillMode FillMode { get; set; }
|
||||||
|
public bool MultiSampleAntiAlias { get; set; }
|
||||||
|
public bool ScissorTestEnable { get; set; }
|
||||||
|
public float SlopeScaleDepthBias { get; set; }
|
||||||
|
|
||||||
|
public static readonly RasterizerState CullClockwise;
|
||||||
|
public static readonly RasterizerState CullCounterClockwise;
|
||||||
|
public static readonly RasterizerState CullNone;
|
||||||
|
|
||||||
|
public RasterizerState ()
|
||||||
|
{
|
||||||
|
CullMode = CullMode.CullCounterClockwiseFace;
|
||||||
|
FillMode = FillMode.Solid;
|
||||||
|
DepthBias = 0;
|
||||||
|
MultiSampleAntiAlias = true;
|
||||||
|
ScissorTestEnable = false;
|
||||||
|
SlopeScaleDepthBias = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static RasterizerState ()
|
||||||
|
{
|
||||||
|
CullClockwise = new RasterizerState () {
|
||||||
|
CullMode = CullMode.CullClockwiseFace
|
||||||
|
};
|
||||||
|
CullCounterClockwise = new RasterizerState () {
|
||||||
|
CullMode = CullMode.CullCounterClockwiseFace
|
||||||
|
};
|
||||||
|
CullNone = new RasterizerState () {
|
||||||
|
CullMode = CullMode.None
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7ce6468537e613541a85f13a5f30ebc1
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
116
Assets/Scripts/XNAEmulator/Graphics/States/SamplerState.cs
Normal file
116
Assets/Scripts/XNAEmulator/Graphics/States/SamplerState.cs
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
// #region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// XnaTouch - Copyright © 2009 The XnaTouch Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
// #endregion License
|
||||||
|
//
|
||||||
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework.Graphics
|
||||||
|
{
|
||||||
|
public class SamplerState : GraphicsResource
|
||||||
|
{
|
||||||
|
static SamplerState ()
|
||||||
|
{
|
||||||
|
AnisotropicClamp = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Anisotropic,
|
||||||
|
AddressU = TextureAddressMode.Clamp,
|
||||||
|
AddressV = TextureAddressMode.Clamp,
|
||||||
|
AddressW = TextureAddressMode.Clamp,
|
||||||
|
};
|
||||||
|
|
||||||
|
AnisotropicWrap = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Anisotropic,
|
||||||
|
AddressU = TextureAddressMode.Wrap,
|
||||||
|
AddressV = TextureAddressMode.Wrap,
|
||||||
|
AddressW = TextureAddressMode.Wrap,
|
||||||
|
};
|
||||||
|
|
||||||
|
LinearClamp = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Linear,
|
||||||
|
AddressU = TextureAddressMode.Clamp,
|
||||||
|
AddressV = TextureAddressMode.Clamp,
|
||||||
|
AddressW = TextureAddressMode.Clamp,
|
||||||
|
};
|
||||||
|
|
||||||
|
LinearWrap = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Linear,
|
||||||
|
AddressU = TextureAddressMode.Wrap,
|
||||||
|
AddressV = TextureAddressMode.Wrap,
|
||||||
|
AddressW = TextureAddressMode.Wrap,
|
||||||
|
};
|
||||||
|
|
||||||
|
PointClamp = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Point,
|
||||||
|
AddressU = TextureAddressMode.Clamp,
|
||||||
|
AddressV = TextureAddressMode.Clamp,
|
||||||
|
AddressW = TextureAddressMode.Clamp,
|
||||||
|
};
|
||||||
|
|
||||||
|
PointWrap = new SamplerState ()
|
||||||
|
{
|
||||||
|
Filter = TextureFilter.Point,
|
||||||
|
AddressU = TextureAddressMode.Wrap,
|
||||||
|
AddressV = TextureAddressMode.Wrap,
|
||||||
|
AddressW = TextureAddressMode.Wrap,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly SamplerState AnisotropicClamp;
|
||||||
|
public static readonly SamplerState AnisotropicWrap;
|
||||||
|
public static readonly SamplerState LinearClamp;
|
||||||
|
public static readonly SamplerState LinearWrap;
|
||||||
|
public static readonly SamplerState PointClamp;
|
||||||
|
public static readonly SamplerState PointWrap;
|
||||||
|
|
||||||
|
public TextureAddressMode AddressU { get; set; }
|
||||||
|
public TextureAddressMode AddressV { get; set; }
|
||||||
|
public TextureAddressMode AddressW { get; set; }
|
||||||
|
public TextureFilter Filter { get; set; }
|
||||||
|
|
||||||
|
public int MaxAnisotropy { get; set; }
|
||||||
|
public int MaxMipLevel { get; set; }
|
||||||
|
public float MipMapLevelOfDetailBias { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 09c3811cfff3651419fafccd28345455
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
56
Assets/Scripts/XNAEmulator/IDrawable.cs
Normal file
56
Assets/Scripts/XNAEmulator/IDrawable.cs
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
Microsoft Public License (Ms-PL)
|
||||||
|
MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
accept the license, do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
U.S. copyright law.
|
||||||
|
|
||||||
|
A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
your patent license from such contributor to the software ends automatically.
|
||||||
|
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
notices that are present in the software.
|
||||||
|
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
code form, you may only do so under a license that complies with this license.
|
||||||
|
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose and non-infringement.
|
||||||
|
*/
|
||||||
|
#endregion License
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public interface IDrawable
|
||||||
|
{
|
||||||
|
int DrawOrder { get; }
|
||||||
|
bool Visible { get; }
|
||||||
|
|
||||||
|
event EventHandler<EventArgs> DrawOrderChanged;
|
||||||
|
event EventHandler<EventArgs> VisibleChanged;
|
||||||
|
|
||||||
|
void Draw(GameTime gameTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
7
Assets/Scripts/XNAEmulator/IDrawable.cs.meta
Normal file
7
Assets/Scripts/XNAEmulator/IDrawable.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: be1658b7499774d4594a5d6f050db40c
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
48
Assets/Scripts/XNAEmulator/IGameComponent.cs
Normal file
48
Assets/Scripts/XNAEmulator/IGameComponent.cs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#region License
|
||||||
|
/*
|
||||||
|
Microsoft Public License (Ms-PL)
|
||||||
|
MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
accept the license, do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
U.S. copyright law.
|
||||||
|
|
||||||
|
A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
your patent license from such contributor to the software ends automatically.
|
||||||
|
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
notices that are present in the software.
|
||||||
|
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
code form, you may only do so under a license that complies with this license.
|
||||||
|
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose and non-infringement.
|
||||||
|
*/
|
||||||
|
#endregion License
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public interface IGameComponent
|
||||||
|
{
|
||||||
|
void Initialize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
7
Assets/Scripts/XNAEmulator/IGameComponent.cs.meta
Normal file
7
Assets/Scripts/XNAEmulator/IGameComponent.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 09658c538e74a4847a7cbc34d894478a
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
65
Assets/Scripts/XNAEmulator/IUpdateable.cs
Normal file
65
Assets/Scripts/XNAEmulator/IUpdateable.cs
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#region License
|
||||||
|
// /*
|
||||||
|
// Microsoft Public License (Ms-PL)
|
||||||
|
// MonoGame - Copyright © 2009 The MonoGame Team
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// This license governs use of the accompanying software. If you use the software, you accept this license. If you do not
|
||||||
|
// accept the license, do not use the software.
|
||||||
|
//
|
||||||
|
// 1. Definitions
|
||||||
|
// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under
|
||||||
|
// U.S. copyright law.
|
||||||
|
//
|
||||||
|
// A "contribution" is the original software, or any additions or changes to the software.
|
||||||
|
// A "contributor" is any person that distributes its contribution under this license.
|
||||||
|
// "Licensed patents" are a contributor's patent claims that read directly on its contribution.
|
||||||
|
//
|
||||||
|
// 2. Grant of Rights
|
||||||
|
// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
|
||||||
|
// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3,
|
||||||
|
// each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
|
||||||
|
//
|
||||||
|
// 3. Conditions and Limitations
|
||||||
|
// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
|
||||||
|
// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software,
|
||||||
|
// your patent license from such contributor to the software ends automatically.
|
||||||
|
// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution
|
||||||
|
// notices that are present in the software.
|
||||||
|
// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including
|
||||||
|
// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object
|
||||||
|
// code form, you may only do so under a license that complies with this license.
|
||||||
|
// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees
|
||||||
|
// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent
|
||||||
|
// permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular
|
||||||
|
// purpose and non-infringement.
|
||||||
|
// */
|
||||||
|
#endregion License
|
||||||
|
|
||||||
|
#region Statemenents
|
||||||
|
using System;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
namespace Microsoft.Xna.Framework
|
||||||
|
{
|
||||||
|
public interface IUpdateable
|
||||||
|
{
|
||||||
|
#region Methods
|
||||||
|
void Update(GameTime gameTime);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Events
|
||||||
|
event EventHandler<EventArgs> EnabledChanged;
|
||||||
|
|
||||||
|
event EventHandler<EventArgs> UpdateOrderChanged;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Properties
|
||||||
|
bool Enabled { get; }
|
||||||
|
|
||||||
|
int UpdateOrder { get; }
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
7
Assets/Scripts/XNAEmulator/IUpdateable.cs.meta
Normal file
7
Assets/Scripts/XNAEmulator/IUpdateable.cs.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e3d411493a1a54949a935697d7c32d0f
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: de54928d99a4fca44ad2178d0e40e4c3
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user