配置表更新

This commit is contained in:
zhengxianxin 2026-05-29 20:28:08 +08:00
parent 04a18f5999
commit e7448807d7
10 changed files with 877 additions and 1 deletions

Binary file not shown.

View File

@ -0,0 +1,129 @@
// 此文件由 ThriftIntegratedPipeline 自动生成,请勿手动修改
// 配置类: PLevelData
// 数据类: PLevelDataItem
using UnityEngine;
using Byway.Config;
using Byway.Thrift.Data;
using UnityGameFramework.Runtime;
namespace CrazyMaple
{
/// <summary>
/// PLevelData 数据行
/// </summary>
public class DRPLevelData : DataRowBase
{
private PLevelDataItem _configData;
/// <summary>
/// 唯一标识
/// </summary>
public override int Id
{
get
{
return _configData?.Id ?? 0;
}
}
/// <summary>
/// Lv
/// </summary>
public int Lv
{
get
{
return _configData?.Lv ?? 0;
}
}
/// <summary>
/// PExp
/// </summary>
public int PExp
{
get
{
return _configData?.PExp ?? 0;
}
}
/// <summary>
/// Item
/// </summary>
public string Item
{
get
{
return _configData?.Item ?? "";
}
}
/// <summary>
/// 从配置加载数据(优先使用传入的配置实例)
/// </summary>
public void LoadFromConfig(int id, PLevelData config = null)
{
if (config == null)
{
config = ConfigManager.Instance.GetConfig<PLevelData>();
}
if (config?.Pleveldatas != null)
{
config.Pleveldatas.TryGetValue(id, out _configData);
}
}
/// <summary>
/// 直接设置配置数据(性能优化:跳过字典查询)
/// </summary>
public void SetConfigData(PLevelDataItem configData)
{
_configData = configData;
}
/// <summary>
/// 解析数据行(优化:使用 userData 传入的配置实例,避免重复调用 GetConfig
/// </summary>
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<string, object> userDataDict)
{
// 优先尝试从缓存的字典直接获取 Item最快
if (userDataDict.TryGetValue("ConfigDict", out object dictObj))
{
var dict = dictObj as System.Collections.Generic.Dictionary<int, PLevelDataItem>;
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;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 95dd8f373fe77484087e04558ce6f7fd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}

View File

@ -0,0 +1,65 @@
/**
* <auto-generated>
* Autogenerated by Thrift Compiler (0.22.0)
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* </auto-generated>
*/
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<int, global::Byway.Thrift.Data.PLevelDataItem> instance, object that)
{
if (!(that is Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem> other)) return false;
if (ReferenceEquals(instance, other)) return true;
return TCollections.Equals(instance, other);
}
public static int GetHashCode(this Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem> instance)
{
return TCollections.GetHashCode(instance);
}
public static Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem> DeepCopy(this Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem> source)
{
if (source == null)
return null;
var tmp15 = new Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem>(source.Count);
foreach (var pair in source)
tmp15.Add(pair.Key, (pair.Value != null) ? pair.Value.DeepCopy() : null);
return tmp15;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6b1a4ee3014816040acab168a881c096
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,214 @@
/**
* <auto-generated>
* Autogenerated by Thrift Compiler (0.22.0)
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* </auto-generated>
*/
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<int, global::Byway.Thrift.Data.PLevelDataItem> _pleveldatas;
[DataMember(Order = 0)]
public Dictionary<int, global::Byway.Thrift.Data.PLevelDataItem> 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<int, global::Byway.Thrift.Data.PLevelDataItem>(_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();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ffe8d3096b9dfa048b11513b3101c802
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,366 @@
/**
* <auto-generated>
* Autogenerated by Thrift Compiler (0.22.0)
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* </auto-generated>
*/
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();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1c88d31bc47c45f4986787223c6c4d79
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: