mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
ScriptCore: Generate GetHashCode for Vectors
Fixes warnings
This commit is contained in:
@@ -85,6 +85,7 @@ public class VectorGenerator : ISourceGenerator
|
||||
GenerateEqualityOperators(vector, builder);
|
||||
|
||||
GenerateEquals(vector, builder);
|
||||
GenerateGetHashCode(vector, builder);
|
||||
|
||||
if (receiver.ComparableReceiver.ComparableVectors.Contains(vector.VectorName))
|
||||
{
|
||||
@@ -132,6 +133,32 @@ public class VectorGenerator : ISourceGenerator
|
||||
|
||||
""");
|
||||
}
|
||||
|
||||
private void GenerateGetHashCode(VectorDefinition vector, StringBuilder builder)
|
||||
{
|
||||
builder.Append("""
|
||||
public override int GetHashCode()
|
||||
{
|
||||
// Unchecked to allow overflow
|
||||
unchecked
|
||||
{
|
||||
int hash = 17;
|
||||
|
||||
""");
|
||||
|
||||
for (int i = 0; i < vector.ComponentCount; i++)
|
||||
{
|
||||
builder.Append($"\t\t\thash = hash * 23 + {ComponentNames[i]}.GetHashCode();\n");
|
||||
}
|
||||
|
||||
builder.Append("""
|
||||
return hash;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
""");
|
||||
}
|
||||
|
||||
private void GenerateToString(VectorDefinition vector, StringBuilder builder)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user