mirror of
https://github.com/roflmuffin/CounterStrikeSharp.git
synced 2025-12-05 23:58:24 -08:00
fix(gameevents): merge and sort game event properties if duplicate events
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"ms-dotnettools.csdevkit",
|
||||
"ms-vscode.cpptools",
|
||||
"ms-vscode.cpptools-extension-pack",
|
||||
"GitHub.copilot",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -107,7 +107,18 @@ public partial class Generators
|
||||
}
|
||||
}
|
||||
|
||||
allGameEvents[gameEvent.Name] = gameEvent;
|
||||
if (allGameEvents.ContainsKey(gameEvent.Name))
|
||||
{
|
||||
foreach (var key in gameEvent.Keys)
|
||||
{
|
||||
if (!allGameEvents[gameEvent.Name].Keys.Any(x => x.Name == key.Name))
|
||||
{
|
||||
allGameEvents[gameEvent.Name].Keys.Add(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
allGameEvents[gameEvent.Name] = gameEvent;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,17 +126,16 @@ public partial class Generators
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static async Task GenerateGameEvents()
|
||||
{
|
||||
var allGameEvents = await GetGameEvents();
|
||||
|
||||
|
||||
// Remove the player_chat event as it's manually implemented
|
||||
allGameEvents.RemoveAll(e => e.Name == "player_chat");
|
||||
|
||||
var gameEventsString = string.Join("\n", allGameEvents.OrderBy(x => x.NamePascalCase).Select(gameEvent =>
|
||||
{
|
||||
var propertyDefinition = gameEvent.Keys.Select(key =>
|
||||
var propertyDefinition = gameEvent.Keys.OrderBy(p => p.NamePascalCase).Select(key =>
|
||||
{
|
||||
// Hack for now, since we some params with the same name as their parent.
|
||||
var propertyName = key.NamePascalCase == gameEvent.NamePascalCase
|
||||
@@ -133,7 +143,6 @@ public partial class Generators
|
||||
: key.NamePascalCase;
|
||||
|
||||
return $@"
|
||||
|
||||
{(!string.IsNullOrEmpty(key.Comment) ? "// " + key.Comment : "")}
|
||||
public {key.MappedType} {propertyName}
|
||||
{{
|
||||
|
||||
Reference in New Issue
Block a user