diff --git a/ConfigData/AllConfigs.bytes b/ConfigData/AllConfigs.bytes index c49858e..33832e4 100644 Binary files a/ConfigData/AllConfigs.bytes and b/ConfigData/AllConfigs.bytes differ diff --git a/Scripts/DR_Generated/DRPLevelData.cs b/Scripts/DR_Generated/DRPLevelData.cs new file mode 100644 index 0000000..433c13b --- /dev/null +++ b/Scripts/DR_Generated/DRPLevelData.cs @@ -0,0 +1,129 @@ +// 此文件由 ThriftIntegratedPipeline 自动生成,请勿手动修改 +// 配置类: PLevelData +// 数据类: PLevelDataItem + +using UnityEngine; +using Byway.Config; +using Byway.Thrift.Data; +using UnityGameFramework.Runtime; + +namespace CrazyMaple +{ + /// + /// PLevelData 数据行 + /// + public class DRPLevelData : DataRowBase + { + private PLevelDataItem _configData; + + /// + /// 唯一标识 + /// + public override int Id + { + get + { + return _configData?.Id ?? 0; + } + } + + /// + /// Lv + /// + public int Lv + { + get + { + return _configData?.Lv ?? 0; + } + } + + /// + /// PExp + /// + public int PExp + { + get + { + return _configData?.PExp ?? 0; + } + } + + /// + /// Item + /// + public string Item + { + get + { + return _configData?.Item ?? ""; + } + } + + /// + /// 从配置加载数据(优先使用传入的配置实例) + /// + public void LoadFromConfig(int id, PLevelData config = null) + { + if (config == null) + { + config = ConfigManager.Instance.GetConfig(); + } + + if (config?.Pleveldatas != null) + { + config.Pleveldatas.TryGetValue(id, out _configData); + } + } + + /// + /// 直接设置配置数据(性能优化:跳过字典查询) + /// + public void SetConfigData(PLevelDataItem 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 PLevelData; + if (config != null) + { + LoadFromConfig(id, config); + return _configData != null; + } + } + } + + // 兜底方案:直接查询(最慢) + LoadFromConfig(id); + return _configData != null; + } + } +} diff --git a/Scripts/DR_Generated/DRPLevelData.cs.meta b/Scripts/DR_Generated/DRPLevelData.cs.meta new file mode 100644 index 0000000..7ea99c5 --- /dev/null +++ b/Scripts/DR_Generated/DRPLevelData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 95dd8f373fe77484087e04558ce6f7fd +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 7bebbfa..be1a13e 100644 --- a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/AllConfigs.cs @@ -138,6 +138,7 @@ namespace Byway.Thrift.Data private global::Byway.Thrift.Data.FriendInviteRewardData _FriendInviteRewardData; private global::Byway.Thrift.Data.LimitedTimeEventConst _LimitedTimeEventConst; private global::Byway.Thrift.Data.BuildingFeverDecorateOff _BuildingFeverDecorateOff; + private global::Byway.Thrift.Data.PLevelData _PLevelData; [DataMember(Order = 0)] public global::Byway.Thrift.Data.AdGiftData AdGiftData @@ -1511,6 +1512,20 @@ namespace Byway.Thrift.Data } } + [DataMember(Order = 0)] + public global::Byway.Thrift.Data.PLevelData PLevelData + { + get + { + return _PLevelData; + } + set + { + __isset.PLevelData = true; + this._PLevelData = value; + } + } + [DataMember(Order = 1)] public Isset __isset; @@ -1713,6 +1728,8 @@ namespace Byway.Thrift.Data public bool LimitedTimeEventConst; [DataMember] public bool BuildingFeverDecorateOff; + [DataMember] + public bool PLevelData; } #region XmlSerializer support @@ -2207,6 +2224,11 @@ namespace Byway.Thrift.Data return __isset.BuildingFeverDecorateOff; } + public bool ShouldSerializePLevelData() + { + return __isset.PLevelData; + } + #endregion XmlSerializer support public AllConfigs() @@ -2706,6 +2728,11 @@ namespace Byway.Thrift.Data tmp0.BuildingFeverDecorateOff = (global::Byway.Thrift.Data.BuildingFeverDecorateOff)this.BuildingFeverDecorateOff.DeepCopy(); } tmp0.__isset.BuildingFeverDecorateOff = this.__isset.BuildingFeverDecorateOff; + if((PLevelData != null) && __isset.PLevelData) + { + tmp0.PLevelData = (global::Byway.Thrift.Data.PLevelData)this.PLevelData.DeepCopy(); + } + tmp0.__isset.PLevelData = this.__isset.PLevelData; return tmp0; } @@ -3804,6 +3831,17 @@ namespace Byway.Thrift.Data await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); } break; + case 99: + if (field.Type == TType.Struct) + { + PLevelData = new global::Byway.Thrift.Data.PLevelData(); + await PLevelData.ReadAsync(iprot, cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; default: await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); break; @@ -4710,6 +4748,15 @@ namespace Byway.Thrift.Data await BuildingFeverDecorateOff.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } + if((PLevelData != null) && __isset.PLevelData) + { + tmp2.Name = "PLevelData"; + tmp2.Type = TType.Struct; + tmp2.ID = 99; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await PLevelData.WriteAsync(oprot, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } await oprot.WriteFieldStopAsync(cancellationToken); await oprot.WriteStructEndAsync(cancellationToken); } @@ -4820,7 +4867,8 @@ namespace Byway.Thrift.Data && ((__isset.LimitedTimeEventData == other.__isset.LimitedTimeEventData) && ((!__isset.LimitedTimeEventData) || (global::System.Object.Equals(LimitedTimeEventData, other.LimitedTimeEventData)))) && ((__isset.FriendInviteRewardData == other.__isset.FriendInviteRewardData) && ((!__isset.FriendInviteRewardData) || (global::System.Object.Equals(FriendInviteRewardData, other.FriendInviteRewardData)))) && ((__isset.LimitedTimeEventConst == other.__isset.LimitedTimeEventConst) && ((!__isset.LimitedTimeEventConst) || (global::System.Object.Equals(LimitedTimeEventConst, other.LimitedTimeEventConst)))) - && ((__isset.BuildingFeverDecorateOff == other.__isset.BuildingFeverDecorateOff) && ((!__isset.BuildingFeverDecorateOff) || (global::System.Object.Equals(BuildingFeverDecorateOff, other.BuildingFeverDecorateOff)))); + && ((__isset.BuildingFeverDecorateOff == other.__isset.BuildingFeverDecorateOff) && ((!__isset.BuildingFeverDecorateOff) || (global::System.Object.Equals(BuildingFeverDecorateOff, other.BuildingFeverDecorateOff)))) + && ((__isset.PLevelData == other.__isset.PLevelData) && ((!__isset.PLevelData) || (global::System.Object.Equals(PLevelData, other.PLevelData)))); } public override int GetHashCode() { @@ -5218,6 +5266,10 @@ namespace Byway.Thrift.Data { hashcode = (hashcode * 397) + BuildingFeverDecorateOff.GetHashCode(); } + if((PLevelData != null) && __isset.PLevelData) + { + hashcode = (hashcode * 397) + PLevelData.GetHashCode(); + } } return hashcode; } @@ -5814,6 +5866,12 @@ namespace Byway.Thrift.Data tmp3.Append("BuildingFeverDecorateOff: "); BuildingFeverDecorateOff.ToString(tmp3); } + if((PLevelData != null) && __isset.PLevelData) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("PLevelData: "); + PLevelData.ToString(tmp3); + } tmp3.Append(')'); return tmp3.ToString(); } diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.Extensions.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.Extensions.cs new file mode 100644 index 0000000..c5876ad --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.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 PLevelDataExtensions + { + 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/PLevelData.Extensions.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.Extensions.cs.meta new file mode 100644 index 0000000..c211cca --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.Extensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b1a4ee3014816040acab168a881c096 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.cs new file mode 100644 index 0000000..a44203b --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.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 PLevelData : TBase + { + private Dictionary _pleveldatas; + + [DataMember(Order = 0)] + public Dictionary Pleveldatas + { + get + { + return _pleveldatas; + } + set + { + __isset.@pleveldatas = true; + this._pleveldatas = value; + } + } + + + [DataMember(Order = 1)] + public Isset __isset; + [DataContract] + public struct Isset + { + [DataMember] + public bool @pleveldatas; + } + + #region XmlSerializer support + + public bool ShouldSerializePleveldatas() + { + return __isset.@pleveldatas; + } + + #endregion XmlSerializer support + + public PLevelData() + { + } + + public PLevelData DeepCopy() + { + var tmp5 = new PLevelData(); + if((Pleveldatas != null) && __isset.@pleveldatas) + { + tmp5.Pleveldatas = this.Pleveldatas.DeepCopy(); + } + tmp5.__isset.@pleveldatas = this.__isset.@pleveldatas; + 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); + Pleveldatas = new Dictionary(_map6.Count); + for(int _i7 = 0; _i7 < _map6.Count; ++_i7) + { + int _key8; + global::Byway.Thrift.Data.PLevelDataItem _val9; + _key8 = await iprot.ReadI32Async(cancellationToken); + _val9 = new global::Byway.Thrift.Data.PLevelDataItem(); + await _val9.ReadAsync(iprot, cancellationToken); + Pleveldatas[_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("PLevelData"); + await oprot.WriteStructBeginAsync(tmp10, cancellationToken); + var tmp11 = new TField(); + if((Pleveldatas != null) && __isset.@pleveldatas) + { + tmp11.Name = "pleveldatas"; + tmp11.Type = TType.Map; + tmp11.ID = 1; + await oprot.WriteFieldBeginAsync(tmp11, cancellationToken); + await oprot.WriteMapBeginAsync(new TMap(TType.I32, TType.Struct, Pleveldatas.Count), cancellationToken); + foreach (int _iter12 in Pleveldatas.Keys) + { + await oprot.WriteI32Async(_iter12, cancellationToken); + await Pleveldatas[_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 PLevelData other)) return false; + if (ReferenceEquals(this, other)) return true; + return ((__isset.@pleveldatas == other.__isset.@pleveldatas) && ((!__isset.@pleveldatas) || (TCollections.Equals(Pleveldatas, other.Pleveldatas)))); + } + + public override int GetHashCode() { + int hashcode = 157; + unchecked { + if((Pleveldatas != null) && __isset.@pleveldatas) + { + hashcode = (hashcode * 397) + TCollections.GetHashCode(Pleveldatas); + } + } + return hashcode; + } + + public override string ToString() + { + var tmp13 = new StringBuilder("PLevelData("); + int tmp14 = 0; + if((Pleveldatas != null) && __isset.@pleveldatas) + { + if(0 < tmp14++) { tmp13.Append(", "); } + tmp13.Append("Pleveldatas: "); + Pleveldatas.ToString(tmp13); + } + tmp13.Append(')'); + return tmp13.ToString(); + } + } + +} diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.cs.meta new file mode 100644 index 0000000..eab7984 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ffe8d3096b9dfa048b11513b3101c802 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs new file mode 100644 index 0000000..2d2f087 --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs @@ -0,0 +1,366 @@ +/** + * + * 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 PLevelDataItem : TBase + { + private int _Id; + private int _Lv; + private int _PExp; + private string _Item; + + [DataMember(Order = 0)] + public int Id + { + get + { + return _Id; + } + set + { + __isset.Id = true; + this._Id = value; + } + } + + [DataMember(Order = 0)] + public int Lv + { + get + { + return _Lv; + } + set + { + __isset.Lv = true; + this._Lv = value; + } + } + + [DataMember(Order = 0)] + public int PExp + { + get + { + return _PExp; + } + set + { + __isset.PExp = true; + this._PExp = value; + } + } + + [DataMember(Order = 0)] + public string Item + { + get + { + return _Item; + } + set + { + __isset.Item = true; + this._Item = value; + } + } + + + [DataMember(Order = 1)] + public Isset __isset; + [DataContract] + public struct Isset + { + [DataMember] + public bool Id; + [DataMember] + public bool Lv; + [DataMember] + public bool PExp; + [DataMember] + public bool Item; + } + + #region XmlSerializer support + + public bool ShouldSerializeId() + { + return __isset.Id; + } + + public bool ShouldSerializeLv() + { + return __isset.Lv; + } + + public bool ShouldSerializePExp() + { + return __isset.PExp; + } + + public bool ShouldSerializeItem() + { + return __isset.Item; + } + + #endregion XmlSerializer support + + public PLevelDataItem() + { + } + + public PLevelDataItem DeepCopy() + { + var tmp0 = new PLevelDataItem(); + if(__isset.Id) + { + tmp0.Id = this.Id; + } + tmp0.__isset.Id = this.__isset.Id; + if(__isset.Lv) + { + tmp0.Lv = this.Lv; + } + tmp0.__isset.Lv = this.__isset.Lv; + if(__isset.PExp) + { + tmp0.PExp = this.PExp; + } + tmp0.__isset.PExp = this.__isset.PExp; + if((Item != null) && __isset.Item) + { + tmp0.Item = this.Item; + } + tmp0.__isset.Item = this.__isset.Item; + 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.I32) + { + Lv = await iprot.ReadI32Async(cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + case 3: + if (field.Type == TType.I32) + { + PExp = await iprot.ReadI32Async(cancellationToken); + } + else + { + await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken); + } + break; + case 4: + if (field.Type == TType.String) + { + Item = 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("PLevelDataItem"); + 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(__isset.Lv) + { + tmp2.Name = "Lv"; + tmp2.Type = TType.I32; + tmp2.ID = 2; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteI32Async(Lv, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + if(__isset.PExp) + { + tmp2.Name = "PExp"; + tmp2.Type = TType.I32; + tmp2.ID = 3; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteI32Async(PExp, cancellationToken); + await oprot.WriteFieldEndAsync(cancellationToken); + } + if((Item != null) && __isset.Item) + { + tmp2.Name = "Item"; + tmp2.Type = TType.String; + tmp2.ID = 4; + await oprot.WriteFieldBeginAsync(tmp2, cancellationToken); + await oprot.WriteStringAsync(Item, 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 PLevelDataItem 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.Lv == other.__isset.Lv) && ((!__isset.Lv) || (global::System.Object.Equals(Lv, other.Lv)))) + && ((__isset.PExp == other.__isset.PExp) && ((!__isset.PExp) || (global::System.Object.Equals(PExp, other.PExp)))) + && ((__isset.Item == other.__isset.Item) && ((!__isset.Item) || (global::System.Object.Equals(Item, other.Item)))); + } + + public override int GetHashCode() { + int hashcode = 157; + unchecked { + if(__isset.Id) + { + hashcode = (hashcode * 397) + Id.GetHashCode(); + } + if(__isset.Lv) + { + hashcode = (hashcode * 397) + Lv.GetHashCode(); + } + if(__isset.PExp) + { + hashcode = (hashcode * 397) + PExp.GetHashCode(); + } + if((Item != null) && __isset.Item) + { + hashcode = (hashcode * 397) + Item.GetHashCode(); + } + } + return hashcode; + } + + public override string ToString() + { + var tmp3 = new StringBuilder("PLevelDataItem("); + int tmp4 = 0; + if(__isset.Id) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("Id: "); + Id.ToString(tmp3); + } + if(__isset.Lv) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("Lv: "); + Lv.ToString(tmp3); + } + if(__isset.PExp) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("PExp: "); + PExp.ToString(tmp3); + } + if((Item != null) && __isset.Item) + { + if(0 < tmp4++) { tmp3.Append(", "); } + tmp3.Append("Item: "); + Item.ToString(tmp3); + } + tmp3.Append(')'); + return tmp3.ToString(); + } + } + +} diff --git a/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs.meta b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs.meta new file mode 100644 index 0000000..a67619b --- /dev/null +++ b/Scripts/thrift/gen-netstd/Byway/Thrift/Data/PLevelDataItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c88d31bc47c45f4986787223c6c4d79 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: