Fix #3546.
This commit is contained in:
@@ -82,27 +82,27 @@ namespace OpenRA
|
||||
}
|
||||
else if (type == typeof(WRange))
|
||||
{
|
||||
il.EmitCall(OpCodes.Call, ((Func<WRange, int>)(a => a.GetHashCode())).Method, null);
|
||||
il.EmitCall(OpCodes.Call, ((Func<WRange, int>)hash<WRange>).Method, null);
|
||||
il.Emit(OpCodes.Xor);
|
||||
}
|
||||
else if (type == typeof(WPos))
|
||||
{
|
||||
il.EmitCall(OpCodes.Call, ((Func<WPos, int>)(a => a.GetHashCode())).Method, null);
|
||||
il.EmitCall(OpCodes.Call, ((Func<WPos, int>)hash<WPos>).Method, null);
|
||||
il.Emit(OpCodes.Xor);
|
||||
}
|
||||
else if (type == typeof(WVec))
|
||||
{
|
||||
il.EmitCall(OpCodes.Call, ((Func<WVec, int>)(a => a.GetHashCode())).Method, null);
|
||||
il.EmitCall(OpCodes.Call, ((Func<WVec, int>)hash<WVec>).Method, null);
|
||||
il.Emit(OpCodes.Xor);
|
||||
}
|
||||
else if (type == typeof(WAngle))
|
||||
{
|
||||
il.EmitCall(OpCodes.Call, ((Func<WAngle, int>)(a => a.GetHashCode())).Method, null);
|
||||
il.EmitCall(OpCodes.Call, ((Func<WAngle, int>)hash<WAngle>).Method, null);
|
||||
il.Emit(OpCodes.Xor);
|
||||
}
|
||||
else if (type == typeof(WRot))
|
||||
{
|
||||
il.EmitCall(OpCodes.Call, ((Func<WRot, int>)(a => a.GetHashCode())).Method, null);
|
||||
il.EmitCall(OpCodes.Call, ((Func<WRot, int>)hash<WRot>).Method, null);
|
||||
il.Emit(OpCodes.Xor);
|
||||
}
|
||||
else if (type == typeof(TypeDictionary))
|
||||
@@ -217,6 +217,11 @@ namespace OpenRA
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int hash<T>(T t)
|
||||
{
|
||||
return t.GetHashCode();
|
||||
}
|
||||
|
||||
public static void CheckSyncUnchanged( World world, Action fn )
|
||||
{
|
||||
CheckSyncUnchanged( world, () => { fn(); return true; } );
|
||||
|
||||
Reference in New Issue
Block a user