Supercell.GUT/Supercell.GUT.Titan/Logic/Math/LogicLong.cs

40 lines
882 B
C#
Raw Normal View History

using Supercell.GUT.Titan.Logic.DataStream;
namespace Supercell.GUT.Titan.Logic.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();
}
}