feat: include slugs in both

This commit is contained in:
tresabhi committed 2025-03-05 09:52:09 -06:00
1 parent 16b3a59f88
commit 2fffd512ac
4 files changed
+94 -16

No files matched your search

+15 -7
View File
@@ -110,12 +110,7 @@ namespace BlitzKit.CLI.Functions
var tank = MangleTank(tankDir.Value);
var slug = Diacritics.Remove(tank.Name.Locales["en"]).ToLower();
slug = Regex.Replace(slug, "[^a-z0-9]", "-");
slug = Regex.Replace(slug, "--+", "-");
slug = Regex.Replace(slug, "-$", "");
TankMeta tankMeta = new() { Id = tank.Id, Slug = slug };
TankMeta tankMeta = new() { Id = tank.Id, Slug = tank.Slug };
tanks.Tanks_.Add(tankMeta);
}
@@ -129,11 +124,24 @@ namespace BlitzKit.CLI.Functions
var pda = provider.LoadObject($"{tankDir.Path}/{pdaName}.{pdaName}");
var id = PropertyUtil.Get<FName>(pda, "TankId").Text;
var name = GetString($"{id}_SHORT_NAME");
var slug = Diacritics.Remove(name.Locales["en"]).ToLower();
slug = Regex.Replace(slug, "[^a-z0-9]", "-");
slug = Regex.Replace(slug, "--+", "-");
slug = Regex.Replace(slug, "-$", "");
// MangleHull(id, pda);
Tank tank = new() { Id = id, Name = name };
Console.WriteLine(slug);
Tank tank = new()
{
Id = id,
Name = name,
Slug = slug,
};
changes.Add(new($"definitions/tanks/{id}.pb", tank.ToByteArray()));
+58 -6
View File
@@ -25,12 +25,13 @@ namespace Blitzkit {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CiNwYWNrYWdlcy9jb3JlL3NyYy9wcm90b3MvdGFuay5wcm90bxIIYmxpdHpr",
"aXQaI3BhY2thZ2VzL2NvcmUvc3JjL3Byb3Rvcy9pMThuLnByb3RvIjAKBFRh",
"bmsSCgoCaWQYASACKAkSHAoEbmFtZRgCIAIoCzIOLmJsaXR6a2l0LkkxOG4="));
"aXQaI3BhY2thZ2VzL2NvcmUvc3JjL3Byb3Rvcy9pMThuLnByb3RvIj4KBFRh",
"bmsSCgoCaWQYASACKAkSDAoEc2x1ZxgCIAIoCRIcCgRuYW1lGAMgAigLMg4u",
"YmxpdHpraXQuSTE4bg=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Blitzkit.I18NReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Blitzkit.Tank), global::Blitzkit.Tank.Parser, new[]{ "Id", "Name" }, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::Blitzkit.Tank), global::Blitzkit.Tank.Parser, new[]{ "Id", "Slug", "Name" }, null, null, null, null)
}));
}
#endregion
@@ -73,6 +74,7 @@ namespace Blitzkit {
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Tank(Tank other) : this() {
id_ = other.id_;
slug_ = other.slug_;
name_ = other.name_ != null ? other.name_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -109,8 +111,34 @@ namespace Blitzkit {
id_ = null;
}
/// <summary>Field number for the "slug" field.</summary>
public const int SlugFieldNumber = 2;
private readonly static string SlugDefaultValue = "";
private string slug_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Slug {
get { return slug_ ?? SlugDefaultValue; }
set {
slug_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Gets whether the "slug" field is set</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSlug {
get { return slug_ != null; }
}
/// <summary>Clears the value of the "slug" field</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSlug() {
slug_ = null;
}
/// <summary>Field number for the "name" field.</summary>
public const int NameFieldNumber = 2;
public const int NameFieldNumber = 3;
private global::Blitzkit.I18n name_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@@ -137,6 +165,7 @@ namespace Blitzkit {
return true;
}
if (Id != other.Id) return false;
if (Slug != other.Slug) return false;
if (!object.Equals(Name, other.Name)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -146,6 +175,7 @@ namespace Blitzkit {
public override int GetHashCode() {
int hash = 1;
if (HasId) hash ^= Id.GetHashCode();
if (HasSlug) hash ^= Slug.GetHashCode();
if (name_ != null) hash ^= Name.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
@@ -169,8 +199,12 @@ namespace Blitzkit {
output.WriteRawTag(10);
output.WriteString(Id);
}
if (name_ != null) {
if (HasSlug) {
output.WriteRawTag(18);
output.WriteString(Slug);
}
if (name_ != null) {
output.WriteRawTag(26);
output.WriteMessage(Name);
}
if (_unknownFields != null) {
@@ -187,8 +221,12 @@ namespace Blitzkit {
output.WriteRawTag(10);
output.WriteString(Id);
}
if (name_ != null) {
if (HasSlug) {
output.WriteRawTag(18);
output.WriteString(Slug);
}
if (name_ != null) {
output.WriteRawTag(26);
output.WriteMessage(Name);
}
if (_unknownFields != null) {
@@ -204,6 +242,9 @@ namespace Blitzkit {
if (HasId) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
}
if (HasSlug) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Slug);
}
if (name_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Name);
}
@@ -222,6 +263,9 @@ namespace Blitzkit {
if (other.HasId) {
Id = other.Id;
}
if (other.HasSlug) {
Slug = other.Slug;
}
if (other.name_ != null) {
if (name_ == null) {
Name = new global::Blitzkit.I18n();
@@ -252,6 +296,10 @@ namespace Blitzkit {
break;
}
case 18: {
Slug = input.ReadString();
break;
}
case 26: {
if (name_ == null) {
Name = new global::Blitzkit.I18n();
}
@@ -282,6 +330,10 @@ namespace Blitzkit {
break;
}
case 18: {
Slug = input.ReadString();
break;
}
case 26: {
if (name_ == null) {
Name = new global::Blitzkit.I18n();
}