Supercell.GUT/Supercell.GUT.Titan/Math/LogicLong.cs
BreadDEV ad23f95319 [v0.0.1] very early state server
only basic messages, wip.
2024-03-04 20:19:32 +07:00

40 lines
913 B
C#

using Supercell.GUT.Titan.Encoding;
using Supercell.GUT.Titan.Encoding.Streamed;
namespace Supercell.GUT.Titan.Math;
public class LogicLong
{
public int HigherInt { get; set; }
public int LowerInt { get; set; }
public LogicLong(long longValue)
{
this.HigherInt = (int)(longValue >> 32);
this.LowerInt = (int)longValue;
}
public LogicLong()
{
this.HigherInt = 0;
this.LowerInt = 0;
}
public LogicLong(int higherInt, int lowerInt)
{
this.HigherInt = higherInt;
this.LowerInt = lowerInt;
}
public void Encode(ChecksumEncoder checksumEncoder)
{
checksumEncoder.WriteInt(this.HigherInt);
checksumEncoder.WriteInt(this.LowerInt);
}
public void Decode(ByteStream byteStream)
{
this.HigherInt = byteStream.ReadInt();
this.LowerInt = byteStream.ReadInt();
}
}