diff --git a/src/Luban.Core/Defs/DefAssembly.cs b/src/Luban.Core/Defs/DefAssembly.cs index baf395d1..7e033be8 100644 --- a/src/Luban.Core/Defs/DefAssembly.cs +++ b/src/Luban.Core/Defs/DefAssembly.cs @@ -45,6 +45,20 @@ public bool TryGetVariantName(string variantKey, out string variantName) return _variants.TryGetValue(variantKey, out variantName); } + public bool TryGetVariantNameOrDefault(string variantKey, out string variantName) + { + if (_variants == null) + { + variantName = ""; + return false; + } + if (_variants.TryGetValue(variantKey, out variantName)) + { + return true; + } + return _variants.TryGetValue("default", out variantName); + } + public DefAssembly(RawAssembly assembly, string target, List outputTables, List groupDefs, Dictionary variants) { _targets = assembly.Targets; diff --git a/src/Luban.Core/Defs/DefField.cs b/src/Luban.Core/Defs/DefField.cs index 37f0f5c0..1962a08e 100644 --- a/src/Luban.Core/Defs/DefField.cs +++ b/src/Luban.Core/Defs/DefField.cs @@ -80,7 +80,7 @@ public void Compile() if (Variants != null && Variants.Count > 0) { string variantKey = $"{HostType.FullName}.{Name}"; - if (HostType.Assembly.TryGetVariantName(variantKey, out var variantName)) + if (HostType.Assembly.TryGetVariantNameOrDefault(variantKey, out var variantName)) { if (!Variants.Contains(variantName)) { diff --git a/src/Luban/Luban.csproj b/src/Luban/Luban.csproj index dae116f7..cec7380c 100644 --- a/src/Luban/Luban.csproj +++ b/src/Luban/Luban.csproj @@ -33,9 +33,15 @@ README.md True $(AssemblyVersion) - 3.10.0 + 3.11.0 + + + + + + @@ -64,10 +70,6 @@ - - - - True