r2mods/ilspy_dump/ror2_csproj/RoR2/RuleMask.cs

65 lines
1006 B
C#

using JetBrains.Annotations;
using UnityEngine.Networking;
namespace RoR2;
public class RuleMask : SerializableBitArray
{
public RuleMask()
: base(RuleCatalog.ruleCount)
{
}
public void Serialize(NetworkWriter writer)
{
for (int i = 0; i < bytes.Length; i++)
{
writer.Write(bytes[i]);
}
}
public void Deserialize(NetworkReader reader)
{
for (int i = 0; i < bytes.Length; i++)
{
bytes[i] = reader.ReadByte();
}
}
public override bool Equals(object obj)
{
if (obj is RuleMask ruleMask)
{
for (int i = 0; i < bytes.Length; i++)
{
if (bytes[i] != ruleMask.bytes[i])
{
return false;
}
}
}
return true;
}
public override int GetHashCode()
{
int num = 0;
for (int i = 0; i < bytes.Length; i++)
{
num += bytes[i];
}
return num;
}
public void Copy([NotNull] RuleMask src)
{
byte[] array = src.bytes;
byte[] array2 = bytes;
int i = 0;
for (int num = array2.Length; i < num; i++)
{
array2[i] = array[i];
}
}
}