From 6f5854816df18d02db8df9dddc2ae5c30643678e Mon Sep 17 00:00:00 2001 From: zhang hongbo Date: Fri, 6 Feb 2026 17:37:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B8=B8=E9=87=8F?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ConfigData/AllConfigs.bytes | Bin 2283722 -> 2286716 bytes Scripts/DR_Generated/DRConstantString.cs | 118 +++++++ Scripts/DR_Generated/DRConstantString.cs.meta | 11 + .../Byway/Thrift/Data/AllConfigs.cs | 60 +++- .../Thrift/Data/ConstantString.Extensions.cs | 65 ++++ .../Data/ConstantString.Extensions.cs.meta | 11 + .../Byway/Thrift/Data/ConstantString.cs | 214 ++++++++++++ .../Byway/Thrift/Data/ConstantString.cs.meta | 11 + .../Byway/Thrift/Data/ConstantStringItem.cs | 309 ++++++++++++++++++ .../Thrift/Data/ConstantStringItem.cs.meta | 11 + 10 files changed, 809 insertions(+), 1 deletion(-) create mode 100644 Scripts/DR_Generated/DRConstantString.cs create mode 100644 Scripts/DR_Generated/DRConstantString.cs.meta create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs.meta create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs.meta create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs create mode 100644 Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs.meta diff --git a/ConfigData/AllConfigs.bytes b/ConfigData/AllConfigs.bytes index 90d85d30de17c9507b1fa6f3219c59553d4065d6..00fe75972106fe65f74e0d322b26facb75c8cc8f 100644 GIT binary patch delta 3985 zcmb_fZH!da8QyW1Z&uj@yRaiJXRzQ$hDohTMaAL66%be#7m3#Jac1W1?p^QPGv1FO zL#;p=$||~i{P2_})J#)o_<@R;+)8cN&a{nbNGttgOiVPkU~ARZG;La?w9k9)?6Qcd zKWwrm_w2pr<9(m^d7t;4U!T|;JOA3=*p70nd_}pj+*BS{9$%hNo>-n#o?M<%o?31$ zUs=AYJnf|x^=a%#SopN%{6OQmXZLB<%ers4ex@HpOFdXf z$7H4By9!fYaFs8!S*v!^;li=W4yW3x1=M@Ol5pbUEByST;J-ovM_^;CTol%DSkIxP;dcW3fEFe znCtSq@~xusXsIXr0+*aiatCjU(v^8Uxysm9AI<^v9DWpqOP?{1yi4iyBkbs{w^S?Z zYsXbR5YZ826dgeTVZd^_zP{1&MIt=+2)jDA;`UXJkJ~(f$Gba@MquWHY`^00F<(&T z1V`~afeyp`+Ht{!S38~}3{OvNh|xnIu-J9_);wF;GOb&>IfRcmL$ObXkLOu)Y}wK- z#S6q6N906`uQ4vb5`x_c;9Eqmq&eK&ng!c((t)!Xz@6gyDTjS>*W%883YA~0)L&PJ zm)B0_4ZNP!r~X$Y(mdRw*kEkCS})za

9%vW186_XW7ahb_KvCEiGf-~3gMHG!|Z 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 diff --git a/Scripts/DR_Generated/DRConstantString.cs b/Scripts/DR_Generated/DRConstantString.cs new file mode 100644 index 0000000..4d3d14c --- /dev/null +++ b/Scripts/DR_Generated/DRConstantString.cs @@ -0,0 +1,118 @@ +// 此文件由 ThriftIntegratedPipeline 自动生成,请勿手动修改 +// 配置类: ConstantString +// 数据类: ConstantStringItem + +using UnityEngine; +using Byway.Config; +using Byway.Thrift.Data; +using UnityGameFramework.Runtime; + +namespace CrazyMaple +{ + ///

+ /// ConstantString 数据行 + /// + public class DRConstantString : DataRowBase + { + private ConstantStringItem _configData; + + /// + /// 唯一标识 + /// + public override int Id + { + get + { + return _configData?.Id ?? 0; + } + } + + /// + /// ConstantKey + /// + public string ConstantKey + { + get + { + return _configData?.ConstantKey ?? ""; + } + } + + /// + /// ConstantValue + /// + public string ConstantValue + { + get + { + return _configData?.ConstantValue ?? ""; + } + } + + /// + /// 从配置加载数据(优先使用传入的配置实例) + /// + public void LoadFromConfig(int id, ConstantString config = null) + { + if (config == null) + { + config = ConfigManager.Instance.GetConfig(); + } + + if (config?.Constantstrings != null) + { + config.Constantstrings.TryGetValue(id, out _configData); + } + } + + /// + /// 直接设置配置数据(性能优化:跳过字典查询) + /// + public void SetConfigData(ConstantStringItem configData) + { + _configData = configData; + } + + /// + /// 解析数据行(优化:使用 userData 传入的配置实例,避免重复调用 GetConfig) + /// + public override bool ParseDataRow(string dataRowString, object userData) + { + int id = 0; + if (!int.TryParse(dataRowString, out id)) + { + return false; + } + + // 性能优化:尝试从 userData 获取配置字典,直接获取 Item + if (userData is System.Collections.Generic.Dictionary userDataDict) + { + // 优先尝试从缓存的字典直接获取 Item(最快) + if (userDataDict.TryGetValue("ConfigDict", out object dictObj)) + { + var dict = dictObj as System.Collections.Generic.Dictionary; + if (dict != null && dict.TryGetValue(id, out var item)) + { + _configData = item; + return true; + } + } + + // 备选方案:从配置实例获取 + if (userDataDict.TryGetValue("ConfigInstance", out object configObj)) + { + var config = configObj as ConstantString; + if (config != null) + { + LoadFromConfig(id, config); + return _configData != null; + } + } + } + + // 兜底方案:直接查询(最慢) + LoadFromConfig(id); + return _configData != null; + } + } +} diff --git a/Scripts/DR_Generated/DRConstantString.cs.meta b/Scripts/DR_Generated/DRConstantString.cs.meta new file mode 100644 index 0000000..486b517 --- /dev/null +++ b/Scripts/DR_Generated/DRConstantString.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86c61335b5eb98741907e1dd08c2045d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs index 327fee1..30bb41a 100644 --- a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs @@ -124,6 +124,7 @@ namespace Byway.Thrift.Data private global::Byway.Thrift.Data.WeekTaskReward _WeekTaskReward; private global::Byway.Thrift.Data.LevelLauncherData _LevelLauncherData; private global::Byway.Thrift.Data.NickNameRandomData _NickNameRandomData; + private global::Byway.Thrift.Data.ConstantString _ConstantString; [DataMember(Order = 0)] public global::Byway.Thrift.Data.AdGiftData AdGiftData @@ -1301,6 +1302,20 @@ namespace Byway.Thrift.Data } } + [DataMember(Order = 0)] + public global::Byway.Thrift.Data.ConstantString ConstantString + { + get + { + return _ConstantString; + } + set + { + __isset.ConstantString = true; + this._ConstantString = value; + } + } + [DataMember(Order = 1)] public Isset __isset; @@ -1475,6 +1490,8 @@ namespace Byway.Thrift.Data public bool LevelLauncherData; [DataMember] public bool NickNameRandomData; + [DataMember] + public bool ConstantString; } #region XmlSerializer support @@ -1899,6 +1916,11 @@ namespace Byway.Thrift.Data return __isset.NickNameRandomData; } + public bool ShouldSerializeConstantString() + { + return __isset.ConstantString; + } + #endregion XmlSerializer support public AllConfigs() @@ -2328,6 +2350,11 @@ namespace Byway.Thrift.Data tmp0.NickNameRandomData = (global::Byway.Thrift.Data.NickNameRandomData)this.NickNameRandomData.DeepCopy(); } tmp0.__isset.NickNameRandomData = this.__isset.NickNameRandomData; + if((ConstantString != null) && __isset.ConstantString) + { + tmp0.ConstantString = (global::Byway.Thrift.Data.ConstantString)this.ConstantString.DeepCopy(); + } + tmp0.__isset.ConstantString = this.__isset.ConstantString; return tmp0; } @@ -3272,6 +3299,17 @@ namespace Byway.Thrift.Data await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; + case 85: + if (field.Type == TType.Struct) + { + ConstantString = new global::Byway.Thrift.Data.ConstantString(); + await ConstantString.ReadAsync(iprot, cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; default: await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); break; @@ -4052,6 +4090,15 @@ namespace Byway.Thrift.Data await NickNameRandomData.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } + if((ConstantString != null) && __isset.ConstantString) + { + tmp2.Name = "ConstantString"; + tmp2.Type = TType.Struct; + tmp2.ID = 85; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await ConstantString.WriteAsync(oprot, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } await oprot.WriteFieldStopAsync(cancellationToken); await oprot.WriteStructEndAsync(cancellationToken); } @@ -4148,7 +4195,8 @@ namespace Byway.Thrift.Data && ((__isset.WashStartMerge == other.__isset.WashStartMerge) && ((!__isset.WashStartMerge) || (global::System.Object.Equals(WashStartMerge, other.WashStartMerge)))) && ((__isset.WeekTaskReward == other.__isset.WeekTaskReward) && ((!__isset.WeekTaskReward) || (global::System.Object.Equals(WeekTaskReward, other.WeekTaskReward)))) && ((__isset.LevelLauncherData == other.__isset.LevelLauncherData) && ((!__isset.LevelLauncherData) || (global::System.Object.Equals(LevelLauncherData, other.LevelLauncherData)))) - && ((__isset.NickNameRandomData == other.__isset.NickNameRandomData) && ((!__isset.NickNameRandomData) || (global::System.Object.Equals(NickNameRandomData, other.NickNameRandomData)))); + && ((__isset.NickNameRandomData == other.__isset.NickNameRandomData) && ((!__isset.NickNameRandomData) || (global::System.Object.Equals(NickNameRandomData, other.NickNameRandomData)))) + && ((__isset.ConstantString == other.__isset.ConstantString) && ((!__isset.ConstantString) || (global::System.Object.Equals(ConstantString, other.ConstantString)))); } public override int GetHashCode() { @@ -4490,6 +4538,10 @@ namespace Byway.Thrift.Data { hashcode = (hashcode * 397) + NickNameRandomData.GetHashCode(); } + if((ConstantString != null) && __isset.ConstantString) + { + hashcode = (hashcode * 397) + ConstantString.GetHashCode(); + } } return hashcode; } @@ -5002,6 +5054,12 @@ namespace Byway.Thrift.Data tmp3.Append("NickNameRandomData: "); NickNameRandomData.ToString(tmp3); } + if((ConstantString != null) && __isset.ConstantString) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("ConstantString: "); + ConstantString.ToString(tmp3); + } tmp3.Append(')'); return tmp3.ToString(); } diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs new file mode 100644 index 0000000..741f197 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs @@ -0,0 +1,65 @@ +/** + * + * Autogenerated by Thrift Compiler (0.22.0) + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * + */ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Thrift; +using Thrift.Collections; +using System.Runtime.Serialization; +using Thrift.Protocol; + + +#pragma warning disable IDE0079 // remove unnecessary pragmas +#pragma warning disable IDE0017 // object init can be simplified +#pragma warning disable IDE0028 // collection init can be simplified +#pragma warning disable IDE0305 // collection init can be simplified +#pragma warning disable IDE0034 // simplify default expression +#pragma warning disable IDE0066 // use switch expression +#pragma warning disable IDE0090 // simplify new expression +#pragma warning disable IDE0290 // use primary CTOR +#pragma warning disable IDE1006 // parts of the code use IDL spelling +#pragma warning disable CA1822 // empty DeepCopy() methods still non-static +#pragma warning disable IDE0083 // pattern matching "that is not SomeType" requires net5.0 but we still support earlier versions + +namespace Byway.Thrift.Data +{ + public static class ConstantStringExtensions + { + public static bool Equals(this Dictionary instance, object that) + { + if (!(that is Dictionary other)) return false; + if (ReferenceEquals(instance, other)) return true; + + return TCollections.Equals(instance, other); + } + + + public static int GetHashCode(this Dictionary instance) + { + return TCollections.GetHashCode(instance); + } + + + public static Dictionary DeepCopy(this Dictionary source) + { + if (source == null) + return null; + + var tmp15 = new Dictionary(source.Count); + foreach (var pair in source) + tmp15.Add(pair.Key, (pair.Value != null) ? pair.Value.DeepCopy() : null); + return tmp15; + } + + + } +} diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs.meta new file mode 100644 index 0000000..b7a9dbf --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6ab3051e10dd3c847be039d50c934996 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs new file mode 100644 index 0000000..0611df8 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs @@ -0,0 +1,214 @@ +/** + * + * Autogenerated by Thrift Compiler (0.22.0) + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * + */ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Thrift; +using Thrift.Collections; +using System.Runtime.Serialization; +using Thrift.Protocol; +using Thrift.Protocol.Entities; +using Thrift.Protocol.Utilities; +using Thrift.Transport; +using Thrift.Transport.Client; + + +#pragma warning disable IDE0079 // remove unnecessary pragmas +#pragma warning disable IDE0017 // object init can be simplified +#pragma warning disable IDE0028 // collection init can be simplified +#pragma warning disable IDE0305 // collection init can be simplified +#pragma warning disable IDE0034 // simplify default expression +#pragma warning disable IDE0066 // use switch expression +#pragma warning disable IDE0090 // simplify new expression +#pragma warning disable IDE0290 // use primary CTOR +#pragma warning disable IDE1006 // parts of the code use IDL spelling +#pragma warning disable CA1822 // empty DeepCopy() methods still non-static +#pragma warning disable IDE0083 // pattern matching "that is not SomeType" requires net5.0 but we still support earlier versions + +namespace Byway.Thrift.Data +{ + + [DataContract(Namespace="")] + public partial class ConstantString : TBase + { + private Dictionary _constantstrings; + + [DataMember(Order = 0)] + public Dictionary Constantstrings + { + get + { + return _constantstrings; + } + set + { + __isset.@constantstrings = true; + this._constantstrings = value; + } + } + + + [DataMember(Order = 1)] + public Isset __isset; + [DataContract] + public struct Isset + { + [DataMember] + public bool @constantstrings; + } + + #region XmlSerializer support + + public bool ShouldSerializeConstantstrings() + { + return __isset.@constantstrings; + } + + #endregion XmlSerializer support + + public ConstantString() + { + } + + public ConstantString DeepCopy() + { + var tmp5 = new ConstantString(); + if((Constantstrings != null) && __isset.@constantstrings) + { + tmp5.Constantstrings = this.Constantstrings.DeepCopy(); + } + tmp5.__isset.@constantstrings = this.__isset.@constantstrings; + return tmp5; + } + + public async global::System.Threading.Tasks.Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken) + { + iprot.IncrementRecursionDepth(); + try + { + TField field; + await iprot.ReadStructBeginAsync(cancellationToken); + while (true) + { + field = await iprot.ReadFieldBeginAsync(cancellationToken); + if (field.Type == TType.Stop) + { + break; + } + + switch (field.ID) + { + case 1: + if (field.Type == TType.Map) + { + { + var _map6 = await iprot.ReadMapBeginAsync(cancellationToken); + Constantstrings = new Dictionary(_map6.Count); + for(int _i7 = 0; _i7 < _map6.Count; ++_i7) + { + int _key8; + global::Byway.Thrift.Data.ConstantStringItem _val9; + _key8 = await iprot.ReadI32Async(cancellationToken); + _val9 = new global::Byway.Thrift.Data.ConstantStringItem(); + await _val9.ReadAsync(iprot, cancellationToken); + Constantstrings[_key8] = _val9; + } + await iprot.ReadMapEndAsync(cancellationToken); + } + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + default: + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + break; + } + + await iprot.ReadFieldEndAsync(cancellationToken); + } + + await iprot.ReadStructEndAsync(cancellationToken); + } + finally + { + iprot.DecrementRecursionDepth(); + } + } + + public async global::System.Threading.Tasks.Task WriteAsync(TProtocol oprot, CancellationToken cancellationToken) + { + oprot.IncrementRecursionDepth(); + try + { + var tmp10 = new TStruct("ConstantString"); + await oprot.WriteStructBeginAsync(tmp10, cancellationToken); + var tmp11 = new TField(); + if((Constantstrings != null) && __isset.@constantstrings) + { + tmp11.Name = "constantstrings"; + tmp11.Type = TType.Map; + tmp11.ID = 1; + await oprot.WriteFieldBeginAsync(tmp11, cancellationToken); + await oprot.WriteMapBeginAsync(new TMap(TType.I32, TType.Struct, Constantstrings.Count), cancellationToken); + foreach (int _iter12 in Constantstrings.Keys) + { + await oprot.WriteI32Async(_iter12, cancellationToken); + await Constantstrings[_iter12].WriteAsync(oprot, cancellationToken); + } + await oprot.WriteMapEndAsync(cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + await oprot.WriteFieldStopAsync(cancellationToken); + await oprot.WriteStructEndAsync(cancellationToken); + } + finally + { + oprot.DecrementRecursionDepth(); + } + } + + public override bool Equals(object that) + { + if (!(that is ConstantString other)) return false; + if (ReferenceEquals(this, other)) return true; + return ((__isset.@constantstrings == other.__isset.@constantstrings) && ((!__isset.@constantstrings) || (TCollections.Equals(Constantstrings, other.Constantstrings)))); + } + + public override int GetHashCode() { + int hashcode = 157; + unchecked { + if((Constantstrings != null) && __isset.@constantstrings) + { + hashcode = (hashcode * 397) + TCollections.GetHashCode(Constantstrings); + } + } + return hashcode; + } + + public override string ToString() + { + var tmp13 = new StringBuilder("ConstantString("); + int tmp14 = 0; + if((Constantstrings != null) && __isset.@constantstrings) + { + if(0 < tmp14++) { tmp13.Append(", "); } + tmp13.Append("Constantstrings: "); + Constantstrings.ToString(tmp13); + } + tmp13.Append(')'); + return tmp13.ToString(); + } + } + +} diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs.meta new file mode 100644 index 0000000..66463f9 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantString.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: da1e862f8f8d02f439f8105bea38ae31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs new file mode 100644 index 0000000..5fca56d --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs @@ -0,0 +1,309 @@ +/** + * + * Autogenerated by Thrift Compiler (0.22.0) + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * + */ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Thrift; +using Thrift.Collections; +using System.Runtime.Serialization; +using Thrift.Protocol; +using Thrift.Protocol.Entities; +using Thrift.Protocol.Utilities; +using Thrift.Transport; +using Thrift.Transport.Client; + + +#pragma warning disable IDE0079 // remove unnecessary pragmas +#pragma warning disable IDE0017 // object init can be simplified +#pragma warning disable IDE0028 // collection init can be simplified +#pragma warning disable IDE0305 // collection init can be simplified +#pragma warning disable IDE0034 // simplify default expression +#pragma warning disable IDE0066 // use switch expression +#pragma warning disable IDE0090 // simplify new expression +#pragma warning disable IDE0290 // use primary CTOR +#pragma warning disable IDE1006 // parts of the code use IDL spelling +#pragma warning disable CA1822 // empty DeepCopy() methods still non-static +#pragma warning disable IDE0083 // pattern matching "that is not SomeType" requires net5.0 but we still support earlier versions + +namespace Byway.Thrift.Data +{ + + [DataContract(Namespace="")] + public partial class ConstantStringItem : TBase + { + private int _Id; + private string _ConstantKey; + private string _ConstantValue; + + [DataMember(Order = 0)] + public int Id + { + get + { + return _Id; + } + set + { + __isset.Id = true; + this._Id = value; + } + } + + [DataMember(Order = 0)] + public string ConstantKey + { + get + { + return _ConstantKey; + } + set + { + __isset.ConstantKey = true; + this._ConstantKey = value; + } + } + + [DataMember(Order = 0)] + public string ConstantValue + { + get + { + return _ConstantValue; + } + set + { + __isset.ConstantValue = true; + this._ConstantValue = value; + } + } + + + [DataMember(Order = 1)] + public Isset __isset; + [DataContract] + public struct Isset + { + [DataMember] + public bool Id; + [DataMember] + public bool ConstantKey; + [DataMember] + public bool ConstantValue; + } + + #region XmlSerializer support + + public bool ShouldSerializeId() + { + return __isset.Id; + } + + public bool ShouldSerializeConstantKey() + { + return __isset.ConstantKey; + } + + public bool ShouldSerializeConstantValue() + { + return __isset.ConstantValue; + } + + #endregion XmlSerializer support + + public ConstantStringItem() + { + } + + public ConstantStringItem DeepCopy() + { + var tmp0 = new ConstantStringItem(); + if(__isset.Id) + { + tmp0.Id = this.Id; + } + tmp0.__isset.Id = this.__isset.Id; + if((ConstantKey != null) && __isset.ConstantKey) + { + tmp0.ConstantKey = this.ConstantKey; + } + tmp0.__isset.ConstantKey = this.__isset.ConstantKey; + if((ConstantValue != null) && __isset.ConstantValue) + { + tmp0.ConstantValue = this.ConstantValue; + } + tmp0.__isset.ConstantValue = this.__isset.ConstantValue; + return tmp0; + } + + public async global::System.Threading.Tasks.Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken) + { + iprot.IncrementRecursionDepth(); + try + { + TField field; + await iprot.ReadStructBeginAsync(cancellationToken); + while (true) + { + field = await iprot.ReadFieldBeginAsync(cancellationToken); + if (field.Type == TType.Stop) + { + break; + } + + switch (field.ID) + { + case 1: + if (field.Type == TType.I32) + { + Id = await iprot.ReadI32Async(cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + case 2: + if (field.Type == TType.String) + { + ConstantKey = await iprot.ReadStringAsync(cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + case 3: + if (field.Type == TType.String) + { + ConstantValue = await iprot.ReadStringAsync(cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + default: + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + break; + } + + await iprot.ReadFieldEndAsync(cancellationToken); + } + + await iprot.ReadStructEndAsync(cancellationToken); + } + finally + { + iprot.DecrementRecursionDepth(); + } + } + + public async global::System.Threading.Tasks.Task WriteAsync(TProtocol oprot, CancellationToken cancellationToken) + { + oprot.IncrementRecursionDepth(); + try + { + var tmp1 = new TStruct("ConstantStringItem"); + await oprot.WriteStructBeginAsync(tmp1, cancellationToken); + var tmp2 = new TField(); + if(__isset.Id) + { + tmp2.Name = "Id"; + tmp2.Type = TType.I32; + tmp2.ID = 1; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteI32Async(Id, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + if((ConstantKey != null) && __isset.ConstantKey) + { + tmp2.Name = "ConstantKey"; + tmp2.Type = TType.String; + tmp2.ID = 2; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteStringAsync(ConstantKey, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + if((ConstantValue != null) && __isset.ConstantValue) + { + tmp2.Name = "ConstantValue"; + tmp2.Type = TType.String; + tmp2.ID = 3; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteStringAsync(ConstantValue, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + await oprot.WriteFieldStopAsync(cancellationToken); + await oprot.WriteStructEndAsync(cancellationToken); + } + finally + { + oprot.DecrementRecursionDepth(); + } + } + + public override bool Equals(object that) + { + if (!(that is ConstantStringItem other)) return false; + if (ReferenceEquals(this, other)) return true; + return ((__isset.Id == other.__isset.Id) && ((!__isset.Id) || (global::System.Object.Equals(Id, other.Id)))) + && ((__isset.ConstantKey == other.__isset.ConstantKey) && ((!__isset.ConstantKey) || (global::System.Object.Equals(ConstantKey, other.ConstantKey)))) + && ((__isset.ConstantValue == other.__isset.ConstantValue) && ((!__isset.ConstantValue) || (global::System.Object.Equals(ConstantValue, other.ConstantValue)))); + } + + public override int GetHashCode() { + int hashcode = 157; + unchecked { + if(__isset.Id) + { + hashcode = (hashcode * 397) + Id.GetHashCode(); + } + if((ConstantKey != null) && __isset.ConstantKey) + { + hashcode = (hashcode * 397) + ConstantKey.GetHashCode(); + } + if((ConstantValue != null) && __isset.ConstantValue) + { + hashcode = (hashcode * 397) + ConstantValue.GetHashCode(); + } + } + return hashcode; + } + + public override string ToString() + { + var tmp3 = new StringBuilder("ConstantStringItem("); + int tmp4 = 0; + if(__isset.Id) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("Id: "); + Id.ToString(tmp3); + } + if((ConstantKey != null) && __isset.ConstantKey) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("ConstantKey: "); + ConstantKey.ToString(tmp3); + } + if((ConstantValue != null) && __isset.ConstantValue) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("ConstantValue: "); + ConstantValue.ToString(tmp3); + } + tmp3.Append(')'); + return tmp3.ToString(); + } + } + +} diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs.meta new file mode 100644 index 0000000..e1eabb4 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/ConstantStringItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 19174364fafd3df43b8db50048ccbe29 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 78ce0187de1c1561b852eb0346996f14e2f8f264 Mon Sep 17 00:00:00 2001 From: zhang hongbo Date: Sat, 7 Feb 2026 11:17:51 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=AA=E7=9F=A5?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ConfigData/AllConfigs.bytes | Bin 2286716 -> 2307586 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ConfigData/AllConfigs.bytes b/ConfigData/AllConfigs.bytes index 00fe75972106fe65f74e0d322b26facb75c8cc8f..5787d9fea36e6b5be6c04c02202190f188dfd531 100644 GIT binary patch delta 26440 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 bm5iudF~4%G{fxOeNDc(~xP* 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 From bafefdeab4ecede22a13ab618b7039026c30b46b Mon Sep 17 00:00:00 2001 From: zhang hongbo Date: Mon, 9 Feb 2026 10:59:12 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ConfigData/AllConfigs.bytes | Bin 2307586 -> 2344120 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ConfigData/AllConfigs.bytes b/ConfigData/AllConfigs.bytes index 5787d9fea36e6b5be6c04c02202190f188dfd531..86d4542c321b2a289d5ea59e88ef8bf25ebd9d10 100644 GIT binary patch delta 46061 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ɵxRXTHYhyXwMM$n`;9fb{=45=6 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