diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2016-11-29 19:27:10 -0500 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2016-11-29 19:27:10 -0500 |
commit | df8f44c7047812a5f2af567324df1e287a6e4427 (patch) | |
tree | 6c97183322d27fa78fdc563d70ac40d3d4691cda /src/StardewModdingAPI.AssemblyRewriters/Wrappers | |
parent | d5932a0d772bc145c4b5a2376bff03dbe724b322 (diff) | |
parent | 98a3289337f007ce580e2d45a65a1e5bd7498aeb (diff) | |
download | SMAPI-df8f44c7047812a5f2af567324df1e287a6e4427.tar.gz SMAPI-df8f44c7047812a5f2af567324df1e287a6e4427.tar.bz2 SMAPI-df8f44c7047812a5f2af567324df1e287a6e4427.zip |
Merge branch 'feature/rewrite-mod-assemblies' into develop
Diffstat (limited to 'src/StardewModdingAPI.AssemblyRewriters/Wrappers')
-rw-r--r-- | src/StardewModdingAPI.AssemblyRewriters/Wrappers/CompatibleSpriteBatch.cs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/StardewModdingAPI.AssemblyRewriters/Wrappers/CompatibleSpriteBatch.cs b/src/StardewModdingAPI.AssemblyRewriters/Wrappers/CompatibleSpriteBatch.cs new file mode 100644 index 00000000..e28d1a68 --- /dev/null +++ b/src/StardewModdingAPI.AssemblyRewriters/Wrappers/CompatibleSpriteBatch.cs @@ -0,0 +1,52 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required +namespace StardewModdingAPI.AssemblyRewriters.Wrappers +{ + /// <summary>Wraps <see cref="SpriteBatch"/> methods that are incompatible when converting compiled code between MonoGame and XNA.</summary> + public class CompatibleSpriteBatch : SpriteBatch + { + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + public CompatibleSpriteBatch(GraphicsDevice graphicsDevice) : base(graphicsDevice) { } + + /**** + ** MonoGame signatures + ****/ + public new void Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect, Matrix? matrix) + { + base.Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState, effect, matrix ?? Matrix.Identity); + } + + /**** + ** XNA signatures + ****/ + public new void Begin() + { + base.Begin(); + } + + public new void Begin(SpriteSortMode sortMode, BlendState blendState) + { + base.Begin(sortMode, blendState); + } + + public new void Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState) + { + base.Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState); + } + + public new void Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect) + { + base.Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState, effect); + } + + public new void Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect, Matrix transformMatrix) + { + base.Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState, effect, transformMatrix); + } + } +}
\ No newline at end of file |