Refactoring
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using RecrownedAthenaeum.DataTypes;
|
||||
using RecrownedAthenaeum.SpecialTypes;
|
||||
|
||||
namespace RecrownedAthenaeum.ContentSystem.ContentResolvers
|
||||
{
|
||||
|
37
RecrownedAthenaeum/Pipeline/NinePatchData.cs
Normal file
37
RecrownedAthenaeum/Pipeline/NinePatchData.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using RecrownedAthenaeum.Pipeline.TextureAtlas;
|
||||
|
||||
namespace RecrownedAthenaeum.Pipeline
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a data structure for 9patches.
|
||||
/// </summary>
|
||||
public class NinePatchData
|
||||
{
|
||||
/// <summary>
|
||||
/// Name of texture associated with patch. May be null in the case of being apart of a <see cref="TextureAtlasData"/>
|
||||
/// </summary>
|
||||
public string textureName;
|
||||
|
||||
/// <summary>
|
||||
/// the boundaries of the patch.
|
||||
/// </summary>
|
||||
public int left, right, bottom, top;
|
||||
|
||||
/// <summary>
|
||||
/// Constructs patch.
|
||||
/// </summary>
|
||||
/// <param name="textureName">Name of the texture. May be null.</param>
|
||||
/// <param name="left">Left bound.</param>
|
||||
/// <param name="right">Right bound.</param>
|
||||
/// <param name="bottom">Bottom bound.</param>
|
||||
/// <param name="Top">Top bound.</param>
|
||||
public NinePatchData(string textureName, int left, int right, int bottom, int Top)
|
||||
{
|
||||
this.textureName = textureName;
|
||||
this.left = left;
|
||||
this.right = right;
|
||||
this.bottom = bottom;
|
||||
this.top = Top;
|
||||
}
|
||||
}
|
||||
}
|
@@ -4,14 +4,14 @@ using System.Text;
|
||||
|
||||
namespace RecrownedAthenaeum.Pipeline
|
||||
{
|
||||
class NinePatchDataReader : ContentTypeReader<DataTypes.NinePatch>
|
||||
class NinePatchDataReader : ContentTypeReader<SpecialTypes.NinePatch>
|
||||
{
|
||||
protected override DataTypes.NinePatch Read(ContentReader input, DataTypes.NinePatch existingInstance)
|
||||
protected override SpecialTypes.NinePatch Read(ContentReader input, SpecialTypes.NinePatch existingInstance)
|
||||
{
|
||||
int length = input.ReadInt32();
|
||||
byte[] bytes = input.ReadBytes(length);
|
||||
|
||||
return JsonConvert.DeserializeObject<DataTypes.NinePatch>(Encoding.UTF8.GetString(bytes));
|
||||
return JsonConvert.DeserializeObject<SpecialTypes.NinePatch>(Encoding.UTF8.GetString(bytes));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
84
RecrownedAthenaeum/Pipeline/TextureAtlasData.cs
Normal file
84
RecrownedAthenaeum/Pipeline/TextureAtlasData.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
|
||||
namespace RecrownedAthenaeum.Pipeline
|
||||
{
|
||||
/// <summary>
|
||||
/// Data transfer object for a texture atlas.
|
||||
/// </summary>
|
||||
public class TextureAtlasData
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains the regions of the texture atlas.
|
||||
/// </summary>
|
||||
public AtlasRegionData[] regions;
|
||||
/// <summary>
|
||||
/// The name of the file.
|
||||
/// </summary>
|
||||
public string textureName;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the atlas given the regions and the file name of the texture file to be used.
|
||||
/// </summary>
|
||||
/// <param name="textureName"></param>
|
||||
/// <param name="regions"></param>
|
||||
public TextureAtlasData(string textureName, AtlasRegionData[] regions)
|
||||
{
|
||||
this.regions = regions;
|
||||
this.textureName = textureName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data object that contains information about the region ninepatch situation of a given region in an atlas.
|
||||
/// </summary>
|
||||
public class AtlasRegionData
|
||||
{
|
||||
/// <summary>
|
||||
/// Name of the region for referencial purposes.
|
||||
/// </summary>
|
||||
public string name;
|
||||
/// <summary>
|
||||
/// The location of the patch is designated by this rectangle.
|
||||
/// </summary>
|
||||
public Rectangle location;
|
||||
/// <summary>
|
||||
/// The ninepatch information.
|
||||
/// </summary>
|
||||
public NinePatchData ninePatchData;
|
||||
|
||||
/// <summary>
|
||||
/// Sets position in atlas for convenience.
|
||||
/// </summary>
|
||||
/// <param name="x">X coordinate of the position in the patch.</param>
|
||||
/// <param name="y">Y coordinate of the position in the patch.</param>
|
||||
public void SetPosition(int x, int y)
|
||||
{
|
||||
location.X = x;
|
||||
location.Y = y;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the dimensions of the region on the atlas for convenience.
|
||||
/// </summary>
|
||||
/// <param name="width">Width of the region.</param>
|
||||
/// <param name="height">Height of the region.</param>
|
||||
public void SetSize(int width, int height)
|
||||
{
|
||||
location.Width = width;
|
||||
location.Height = height;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets both the coordinates and dimensions of the region on the atlas for convenience.
|
||||
/// </summary>
|
||||
/// <param name="x">X coordinate of the position in the patch.</param>
|
||||
/// <param name="y">Y coordinate of the position in the patch.</param>
|
||||
/// <param name="width">Width of the region.</param>
|
||||
/// <param name="height">Height of the region.</param>
|
||||
public void SetBounds(int x, int y, int width, int height)
|
||||
{
|
||||
SetPosition(x, y);
|
||||
SetSize(width, height);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -7,31 +7,31 @@ using System.Text;
|
||||
|
||||
namespace RecrownedAthenaeum.Pipeline
|
||||
{
|
||||
class TextureAtlasDataReader : ContentTypeReader<DataTypes.TextureAtlas>
|
||||
class TextureAtlasDataReader : ContentTypeReader<SpecialTypes.TextureAtlas>
|
||||
{
|
||||
protected override DataTypes.TextureAtlas Read(ContentReader input, DataTypes.TextureAtlas existingInstance)
|
||||
protected override SpecialTypes.TextureAtlas Read(ContentReader input, SpecialTypes.TextureAtlas existingInstance)
|
||||
{
|
||||
string serialized = input.ReadString();
|
||||
TextureAtlasData atlasData = JsonConvert.DeserializeObject<TextureAtlasData>(serialized);
|
||||
|
||||
DataTypes.TextureAtlas atlas;
|
||||
SpecialTypes.TextureAtlas atlas;
|
||||
Texture2D atlasTexture = input.ContentManager.Load<Texture2D>(atlasData.textureName);
|
||||
DataTypes.TextureAtlas.TextureAtlasRegion[] regions = new DataTypes.TextureAtlas.TextureAtlasRegion[atlasData.regions.Length];
|
||||
SpecialTypes.TextureAtlas.TextureAtlasRegion[] regions = new SpecialTypes.TextureAtlas.TextureAtlasRegion[atlasData.regions.Length];
|
||||
|
||||
for (int regionID = 0; regionID < regions.Length; regionID++)
|
||||
{
|
||||
TextureAtlasData.AtlasRegionData regionData = atlasData.regions[regionID];
|
||||
DataTypes.NinePatch nPatch = null;
|
||||
SpecialTypes.NinePatch nPatch = null;
|
||||
if (regionData.ninePatchData != null)
|
||||
{
|
||||
NinePatchData nPatchData = regionData.ninePatchData;
|
||||
nPatch = new DataTypes.NinePatch(atlasTexture, nPatchData.left, nPatchData.right, nPatchData.bottom, nPatchData.bottom);
|
||||
nPatch = new SpecialTypes.NinePatch(atlasTexture, nPatchData.left, nPatchData.right, nPatchData.bottom, nPatchData.bottom);
|
||||
}
|
||||
|
||||
regions[regionID] = new DataTypes.TextureAtlas.TextureAtlasRegion(regionData.name, regionData.location, nPatch, atlasTexture);
|
||||
regions[regionID] = new SpecialTypes.TextureAtlas.TextureAtlasRegion(regionData.name, regionData.location, nPatch, atlasTexture);
|
||||
}
|
||||
|
||||
atlas = new DataTypes.TextureAtlas(atlasTexture, regions);
|
||||
atlas = new SpecialTypes.TextureAtlas(atlasTexture, regions);
|
||||
|
||||
return atlas;
|
||||
}
|
||||
|
@@ -58,16 +58,18 @@
|
||||
<Compile Include="ContentSystem\ContentResolvers\ResolutionContentResolver.cs" />
|
||||
<Compile Include="ContentSystem\IContentPathModifier.cs" />
|
||||
<Compile Include="ContentSystem\ContentResolvers\NormalContentResolver.cs" />
|
||||
<Compile Include="DataTypes\ISpecialDrawable.cs" />
|
||||
<Compile Include="DataTypes\NinePatch.cs" />
|
||||
<Compile Include="DataTypes\Resolution.cs" />
|
||||
<Compile Include="DataTypes\TextureAtlas.cs" />
|
||||
<Compile Include="SpecialTypes\ISpecialDrawable.cs" />
|
||||
<Compile Include="SpecialTypes\NinePatch.cs" />
|
||||
<Compile Include="SpecialTypes\Resolution.cs" />
|
||||
<Compile Include="SpecialTypes\TextureAtlas.cs" />
|
||||
<Compile Include="Input\IInputListener.cs" />
|
||||
<Compile Include="Input\InputListener.cs" />
|
||||
<Compile Include="Input\InputUtilities.cs" />
|
||||
<Compile Include="ParticleSystem\Particle.cs" />
|
||||
<Compile Include="Persistence\PreferencesManager.cs" />
|
||||
<Compile Include="Pipeline\NinePatchData.cs" />
|
||||
<Compile Include="Pipeline\NinePatchDataReader.cs" />
|
||||
<Compile Include="Pipeline\TextureAtlasData.cs" />
|
||||
<Compile Include="Pipeline\TextureAtlasDataReader.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Render\RectangleRenderer.cs" />
|
||||
@@ -94,11 +96,5 @@
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\RecrownedAthenaeum.Pipeline\RecrownedAthenaeum.Pipeline.csproj">
|
||||
<Project>{b38f9812-b1d1-4bfe-89ee-fc4dd4ebaa3f}</Project>
|
||||
<Name>RecrownedAthenaeum.Pipeline</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@@ -1,7 +1,7 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
namespace RecrownedAthenaeum.SpecialTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// A wrapper that makes sure anything implementing can be drawn with options.
|
@@ -2,7 +2,7 @@
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
namespace RecrownedAthenaeum.SpecialTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// An object that represents a ninepatch.
|
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
namespace RecrownedAthenaeum.SpecialTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds a width and height while allowing for easier comparison between other <see cref="Resolution"/>s.
|
@@ -4,7 +4,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace RecrownedAthenaeum.DataTypes
|
||||
namespace RecrownedAthenaeum.SpecialTypes
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds information about an image file that contains various textures in various regions in the file.
|
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using RecrownedAthenaeum.DataTypes;
|
||||
using RecrownedAthenaeum.SpecialTypes;
|
||||
using System;
|
||||
|
||||
namespace RecrownedAthenaeum.UI.Modular.Modules
|
||||
|
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using Microsoft.Xna.Framework.Input;
|
||||
using RecrownedAthenaeum.DataTypes;
|
||||
using RecrownedAthenaeum.SpecialTypes;
|
||||
using RecrownedAthenaeum.Input;
|
||||
using RecrownedAthenaeum.UI.Skin.Definitions;
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using RecrownedAthenaeum.DataTypes;
|
||||
using RecrownedAthenaeum.SpecialTypes;
|
||||
using RecrownedAthenaeum.UI.Skin.Definitions;
|
||||
|
||||
namespace RecrownedAthenaeum.UI.Modular.Modules.Interactive
|
||||
|
@@ -1,6 +1,6 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using RecrownedAthenaeum.DataTypes;
|
||||
using RecrownedAthenaeum.SpecialTypes;
|
||||
using RecrownedAthenaeum.UI.Skin.Definitions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
Reference in New Issue
Block a user