diff --git a/NimbusFox.FoxCore/Classes/VectorCubeD.cs b/NimbusFox.FoxCore/Classes/VectorCubeD.cs index 9edf284..de57a58 100644 --- a/NimbusFox.FoxCore/Classes/VectorCubeD.cs +++ b/NimbusFox.FoxCore/Classes/VectorCubeD.cs @@ -1,6 +1,8 @@ -using Plukit.Base; +using System; +using Plukit.Base; namespace NimbusFox.FoxCore.Classes { + [Serializable] public class VectorCubeD { private Vector3D Start { get; } private Vector3D End { get; } @@ -37,5 +39,13 @@ public bool IsInside(Vector3D position) { && Y.End > position.Y && Z.End > position.Z; } + + public Vector3D GetStart() { + return new Vector3D(X.Start, Y.Start, Z.Start); + } + + public Vector3D GetEnd() { + return new Vector3D(X.End, Y.End, Z.End); + } } } diff --git a/NimbusFox.FoxCore/Classes/VectorCubeI.cs b/NimbusFox.FoxCore/Classes/VectorCubeI.cs index ad1900d..e255ca2 100644 --- a/NimbusFox.FoxCore/Classes/VectorCubeI.cs +++ b/NimbusFox.FoxCore/Classes/VectorCubeI.cs @@ -1,18 +1,14 @@ -using Plukit.Base; +using System; +using Plukit.Base; namespace NimbusFox.FoxCore.Classes { + [Serializable] public class VectorCubeI { - private Vector3I Start { get; } - private Vector3I End { get; } - public AreaI X { get; } public AreaI Y { get; } public AreaI Z { get; } public VectorCubeI(Vector3I start, Vector3I end) { - Start = start; - End = end; - X = new AreaI(start.X, end.X); Y = new AreaI(start.Y, end.Y); @@ -41,5 +37,13 @@ public bool IsInside(Vector3D position) { public long GetTileCount() { return (X.End - X.Start) * (Z.End - Z.Start) * (Y.End - Y.Start); } + + public Vector3I GetStart() { + return new Vector3I(X.Start, Y.Start, Z.Start); + } + + public Vector3I GetEnd() { + return new Vector3I(X.End, Y.End, Z.End); + } } } diff --git a/NimbusFox.FoxCore/Managers/FileManager.cs b/NimbusFox.FoxCore/Managers/FileManager.cs index a992b5a..57fce91 100644 --- a/NimbusFox.FoxCore/Managers/FileManager.cs +++ b/NimbusFox.FoxCore/Managers/FileManager.cs @@ -38,6 +38,7 @@ public void WriteFile(string fileName, T data, bool outputAsText = false) { } public void WriteFileStream(string filename, Stream stream) { + stream.Seek(0L, SeekOrigin.Begin); GameContext.ContentLoader.WriteLocalStream(LocalContentLocation + filename, stream); } @@ -65,7 +66,9 @@ public void WriteFileStream(string filename, Stream stream) { } public Stream ReadFileStream(string filename, bool required = false) { - return GameContext.ContentLoader.ReadLocalStream(LocalContentLocation + filename, required); + var stream = GameContext.ContentLoader.ReadLocalStream(LocalContentLocation + filename, required); + stream.Seek(0L, SeekOrigin.Begin); + return stream; } public bool FileExists(string filename) {