Update
This commit is contained in:
ALEXTANG
2023-07-13 19:05:40 +08:00
parent 2b310c00f2
commit 95e4dd93a8
32 changed files with 3194 additions and 1 deletions

View File

@@ -0,0 +1,56 @@
using Bright.Serialization;
using GameConfig;
using TEngine;
using TEngine.Core;
/// <summary>
/// 配置加载器。
/// </summary>
public class ConfigLoader:Singleton<ConfigLoader>
{
private bool _init = false;
private Tables _tables = null!;
public ConfigLoader()
{
this.Load();
}
public Tables Tables
{
get
{
if (!_init)
{
_init = true;
Load();
}
return _tables;
}
}
/// <summary>
/// 加载配置。
/// </summary>
public void Load()
{
var tablesCtor = typeof(Tables).GetConstructors()[0];
var loaderReturnType = tablesCtor.GetParameters()[0].ParameterType.GetGenericArguments()[1];
System.Delegate loader = new System.Func<string, ByteBuf>(LoadByteBuf);
_tables = (Tables)tablesCtor.Invoke(new object[] { loader });
}
/// <summary>
/// 加载二进制配置。
/// </summary>
/// <param name="file">FileName</param>
/// <returns>ByteBuf</returns>
private ByteBuf LoadByteBuf(string file)
{
byte[]ret = File.ReadAllBytes($"../../../Config/GameConfig/{file}.bytes");
return new ByteBuf(ret);
}
}

View File

@@ -0,0 +1,9 @@
using Bright.Serialization;
namespace Bright.Config
{
public abstract class BeanBase : ITypeId
{
public abstract int GetTypeId();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
namespace Bright.Serialization
{
public interface ITypeId
{
int GetTypeId();
}
}

View File

@@ -0,0 +1,52 @@
using System.Collections.Generic;
using System.Text;
namespace Bright.Common
{
public static class StringUtil
{
public static string ToStr(object o)
{
return ToStr(o, new StringBuilder());
}
public static string ToStr(object o, StringBuilder sb)
{
foreach (var p in o.GetType().GetFields())
{
sb.Append($"{p.Name} = {p.GetValue(o)},");
}
foreach (var p in o.GetType().GetProperties())
{
sb.Append($"{p.Name} = {p.GetValue(o)},");
}
return sb.ToString();
}
public static string ArrayToString<T>(T[] arr)
{
return "[" + string.Join(",", arr) + "]";
}
public static string CollectionToString<T>(IEnumerable<T> arr)
{
return "[" + string.Join(",", arr) + "]";
}
public static string CollectionToString<TK, TV>(IDictionary<TK, TV> dic)
{
var sb = new StringBuilder('{');
foreach (var e in dic)
{
sb.Append(e.Key).Append(':');
sb.Append(e.Value).Append(',');
}
sb.Append('}');
return sb.ToString();
}
}
}

View File

@@ -0,0 +1,32 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum ActorAttrAddType
{
/// <summary>
/// 无效数据
/// </summary>
NONE = 0,
/// <summary>
/// 加法计算
/// </summary>
ABSOLUTE_VAL = 1,
/// <summary>
/// 多个项结果累加,然后对加法做乘法
/// </summary>
SUM_PERCENT_VAL = 2,
/// <summary>
/// 每一项都是对最终结果做乘法
/// </summary>
MUL_PERCENT_VAL = 3,
}
}

View File

@@ -0,0 +1,88 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum ActorAttrDataType
{
/// <summary>
/// 无效数据
/// </summary>
None = 0,
/// <summary>
/// 最大血量
/// </summary>
MaxHp = 1,
/// <summary>
/// 攻击力
/// </summary>
Attack = 2,
/// <summary>
/// 物理伤害
/// </summary>
PhyDamage = 3,
/// <summary>
/// 物理防御
/// </summary>
PhyDef = 4,
/// <summary>
/// 法术伤害
/// </summary>
MagicDamage = 5,
/// <summary>
/// 法术防御
/// </summary>
MagicDef = 6,
/// <summary>
/// 移动速度
/// </summary>
MoveSpeed = 7,
/// <summary>
/// 攻击速度
/// </summary>
AttackSpeed = 8,
/// <summary>
/// 命中率
/// </summary>
Hit = 9,
/// <summary>
/// 闪避率
/// </summary>
Dodge = 10,
/// <summary>
/// 暴击率
/// </summary>
CriticalAtkRatio = 11,
/// <summary>
/// San值(疯狂值)
/// </summary>
SanValue = 12,
/// <summary>
/// 最大MP
/// </summary>
MaxMp = 13,
/// <summary>
/// 物理伤害倍率
/// </summary>
PhyDamageRatio = 14,
/// <summary>
/// 魔法伤害倍率
/// </summary>
MagicDamageRatio = 15,
/// <summary>
/// 暴击倍率
/// </summary>
CriticalRatio = 16,
/// <summary>
/// 暴击减免
/// </summary>
CriticalReduce = 17,
}
}

View File

@@ -0,0 +1,100 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class BuffAttrConfig : Bright.Config.BeanBase
{
public BuffAttrConfig(ByteBuf _buf)
{
BuffID = _buf.ReadInt();
Name = _buf.ReadString();
StackNum = _buf.ReadInt();
DurTime = _buf.ReadFloat();
ResultType = (Battle.BuffResultType)_buf.ReadInt();
RemoveWhenDie = _buf.ReadInt();
DotDamageData = Battle.SkillAttrDamageData.DeserializeSkillAttrDamageData(_buf);
DotTickConfig = Battle.BuffDotTickConfig.DeserializeBuffDotTickConfig(_buf);
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);AttrData = new System.Collections.Generic.List<Battle.ResAttrImpactData>(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { Battle.ResAttrImpactData _e0; _e0 = Battle.ResAttrImpactData.DeserializeResAttrImpactData(_buf); AttrData.Add(_e0);}}
PostInit();
}
public static BuffAttrConfig DeserializeBuffAttrConfig(ByteBuf _buf)
{
return new Battle.BuffAttrConfig(_buf);
}
/// <summary>
/// BuffID
/// </summary>
public int BuffID { get; private set; }
/// <summary>
/// 名字
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 叠加次数
/// </summary>
public int StackNum { get; private set; }
/// <summary>
/// 持续时间
/// </summary>
public float DurTime { get; private set; }
/// <summary>
/// 数值效果类型
/// </summary>
public Battle.BuffResultType ResultType { get; private set; }
/// <summary>
/// 死亡消失
/// </summary>
public int RemoveWhenDie { get; private set; }
public Battle.SkillAttrDamageData DotDamageData { get; private set; }
public Battle.BuffDotTickConfig DotTickConfig { get; private set; }
public System.Collections.Generic.List<Battle.ResAttrImpactData> AttrData { get; private set; }
public const int __ID__ = 1652935996;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
DotDamageData?.Resolve(_tables);
DotTickConfig?.Resolve(_tables);
foreach(var _e in AttrData) { _e?.Resolve(_tables); }
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
DotDamageData?.TranslateText(translator);
DotTickConfig?.TranslateText(translator);
foreach(var _e in AttrData) { _e?.TranslateText(translator); }
}
public override string ToString()
{
return "{ "
+ "BuffID:" + BuffID + ","
+ "Name:" + Name + ","
+ "StackNum:" + StackNum + ","
+ "DurTime:" + DurTime + ","
+ "ResultType:" + ResultType + ","
+ "RemoveWhenDie:" + RemoveWhenDie + ","
+ "DotDamageData:" + DotDamageData + ","
+ "DotTickConfig:" + DotTickConfig + ","
+ "AttrData:" + Bright.Common.StringUtil.CollectionToString(AttrData) + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class BuffConfig : Bright.Config.BeanBase
{
public BuffConfig(ByteBuf _buf)
{
BuffID = _buf.ReadInt();
Name = _buf.ReadString();
PrefId = _buf.ReadInt();
Desc = _buf.ReadString();
Icon = _buf.ReadString();
TimeType = (Battle.BuffTimeType)_buf.ReadInt();
ReplaceType = (Battle.BuffReplaceType)_buf.ReadInt();
State = Battle.BuffTriggleState.DeserializeBuffTriggleState(_buf);
PostInit();
}
public static BuffConfig DeserializeBuffConfig(ByteBuf _buf)
{
return new Battle.BuffConfig(_buf);
}
/// <summary>
/// BuffID
/// </summary>
public int BuffID { get; private set; }
/// <summary>
/// 名字
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 表现ID
/// </summary>
public int PrefId { get; private set; }
/// <summary>
/// 描述
/// </summary>
public string Desc { get; private set; }
/// <summary>
/// 图标
/// </summary>
public string Icon { get; private set; }
/// <summary>
/// 持续类型
/// </summary>
public Battle.BuffTimeType TimeType { get; private set; }
/// <summary>
/// 叠加类型
/// </summary>
public Battle.BuffReplaceType ReplaceType { get; private set; }
public Battle.BuffTriggleState State { get; private set; }
public const int __ID__ = 1807662187;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
State?.Resolve(_tables);
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
State?.TranslateText(translator);
}
public override string ToString()
{
return "{ "
+ "BuffID:" + BuffID + ","
+ "Name:" + Name + ","
+ "PrefId:" + PrefId + ","
+ "Desc:" + Desc + ","
+ "Icon:" + Icon + ","
+ "TimeType:" + TimeType + ","
+ "ReplaceType:" + ReplaceType + ","
+ "State:" + State + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,55 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class BuffDotTickConfig : Bright.Config.BeanBase
{
public BuffDotTickConfig(ByteBuf _buf)
{
TickTime = _buf.ReadFloat();
TickWhenAdd = _buf.ReadInt();
PostInit();
}
public static BuffDotTickConfig DeserializeBuffDotTickConfig(ByteBuf _buf)
{
return new Battle.BuffDotTickConfig(_buf);
}
public float TickTime { get; private set; }
public int TickWhenAdd { get; private set; }
public const int __ID__ = 2124630047;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "TickTime:" + TickTime + ","
+ "TickWhenAdd:" + TickWhenAdd + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,36 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum BuffReplaceType
{
/// <summary>
/// 更新时间范围
/// </summary>
BUFF_REPLACE_INSTEAD = 0,
/// <summary>
/// 不允许叠加
/// </summary>
BUFF_REPLACE_FORBIT = 1,
/// <summary>
/// 累加时间范围
/// </summary>
BUFF_REPLACE_ADD_TIME = 2,
/// <summary>
/// 叠加数值
/// </summary>
BUFF_REPLACE_ADD_ATTR = 3,
/// <summary>
/// 叠加种类
/// </summary>
BUFF_REPLACE_TYPE_COUNT = 4,
}
}

View File

@@ -0,0 +1,100 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum BuffResultType
{
/// <summary>
/// 无
/// </summary>
BUFF_RESULT_NONE = 0,
/// <summary>
/// 物理攻击提升
/// </summary>
BUFF_RESULT_PHY_ATK_UP = 1,
/// <summary>
/// 物理攻击降低
/// </summary>
BUFF_RESULT_PHY_ATK_DOWN = 2,
/// <summary>
/// 物理防御提升
/// </summary>
BUFF_RESULT_PHY_DEF_UP = 3,
/// <summary>
/// 物理防御降低
/// </summary>
BUFF_RESULT_PHY_DEF_DOWN = 4,
/// <summary>
/// 物理命中提升
/// </summary>
BUFF_RESULT_PHY_HIT_UP = 5,
/// <summary>
/// 物理命中降低
/// </summary>
BUFF_RESULT_PHY_HIT_DOWN = 6,
/// <summary>
/// 物理持续掉血
/// </summary>
BUFF_RESULT_PHY_LOSE_HP = 7,
/// <summary>
/// 法术攻击提升
/// </summary>
BUFF_RESULT_MAG_ATK_UP = 8,
/// <summary>
/// 法术攻击降低
/// </summary>
BUFF_RESULT_MAG_ATK_DOWN = 9,
/// <summary>
/// 法术防御提升
/// </summary>
BUFF_RESULT_MAG_DEF_UP = 10,
/// <summary>
/// 法术防御降低
/// </summary>
BUFF_RESULT_MAG_DEF_DOWN = 11,
/// <summary>
/// 法术命中提升
/// </summary>
BUFF_RESULT_MAG_HIT_UP = 12,
/// <summary>
/// 法术命中降低
/// </summary>
BUFF_RESULT_MAG_HIT_DOWN = 13,
/// <summary>
/// 法术持续掉血
/// </summary>
BUFF_RESULT_MAG_LOSE_HP = 14,
/// <summary>
/// 暴击率提升
/// </summary>
BUFF_RESULT_CIRT_UP = 15,
/// <summary>
/// 暴击率降低
/// </summary>
BUFF_RESULT_CIRT_DOWN = 16,
/// <summary>
/// 暴击倍率提升
/// </summary>
BUFF_RESULT_CIRT_VALUE_UP = 17,
/// <summary>
/// 暴击倍率降低
/// </summary>
BUFF_RESULT_CIRT_VALUE_DOWN = 18,
/// <summary>
/// 移速提升
/// </summary>
BUFF_RESULT_MOVE_SPEED_UP = 19,
/// <summary>
/// 移速降低
/// </summary>
BUFF_RESULT_MOVE_SPEED_DOWN = 20,
}
}

View File

@@ -0,0 +1,60 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum BuffStateID
{
/// <summary>
/// 无状态
/// </summary>
BUFF_STATE_NONE = 0,
/// <summary>
/// 眩晕状态
/// </summary>
BUFF_STATE_STUN = 1,
/// <summary>
/// 无敌状态
/// </summary>
BUFF_STATE_UNDEAD = 2,
/// <summary>
/// 隐身状态
/// </summary>
BUFF_STATE_INVISIBLE = 3,
/// <summary>
/// 体形变大
/// </summary>
BUFF_STATE_BIGGER = 4,
/// <summary>
/// 定身,不能移动
/// </summary>
BUFF_STATE_NO_MOVE = 5,
/// <summary>
/// 沉默,不能放技能
/// </summary>
BUFF_STATE_NO_SKILL = 6,
/// <summary>
/// 昏睡
/// </summary>
BUFF_STATE_SLEEP = 7,
/// <summary>
/// 强制开启阻挡
/// </summary>
BUFF_STATE_FORCE_COLLIDER = 8,
/// <summary>
/// 无视阻挡
/// </summary>
BUFF_STATE_IGNORE_COLLIDER = 9,
/// <summary>
/// 最大状态
/// </summary>
BUFF_STATE_MAX = 10,
}
}

View File

@@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum BuffTimeType
{
/// <summary>
/// 指定持续时间
/// </summary>
BUFF_TIME_DURING = 0,
/// <summary>
/// 无尽时间
/// </summary>
BUFF_TIME_INFINIT = 1,
}
}

View File

@@ -0,0 +1,55 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class BuffTriggleState : Bright.Config.BeanBase
{
public BuffTriggleState(ByteBuf _buf)
{
StateID = (Battle.BuffStateID)_buf.ReadInt();
StateParam = _buf.ReadFloat();
PostInit();
}
public static BuffTriggleState DeserializeBuffTriggleState(ByteBuf _buf)
{
return new Battle.BuffTriggleState(_buf);
}
public Battle.BuffStateID StateID { get; private set; }
public float StateParam { get; private set; }
public const int __ID__ = 1328146134;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "StateID:" + StateID + ","
+ "StateParam:" + StateParam + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,58 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class ResAttrImpactData : Bright.Config.BeanBase
{
public ResAttrImpactData(ByteBuf _buf)
{
DataType = (Battle.ActorAttrDataType)_buf.ReadInt();
AddType = (Battle.ActorAttrAddType)_buf.ReadInt();
Value = _buf.ReadFloat();
PostInit();
}
public static ResAttrImpactData DeserializeResAttrImpactData(ByteBuf _buf)
{
return new Battle.ResAttrImpactData(_buf);
}
public Battle.ActorAttrDataType DataType { get; private set; }
public Battle.ActorAttrAddType AddType { get; private set; }
public float Value { get; private set; }
public const int __ID__ = 1319292907;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "DataType:" + DataType + ","
+ "AddType:" + AddType + ","
+ "Value:" + Value + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,67 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class SkillAttrDamageData : Bright.Config.BeanBase
{
public SkillAttrDamageData(ByteBuf _buf)
{
MagicType = (Battle.SkillMagicType)_buf.ReadInt();
AttrType = (Battle.SkillAttrDamageType)_buf.ReadInt();
Param1 = _buf.ReadFloat();
Param2 = _buf.ReadFloat();
Param3 = _buf.ReadFloat();
MaxLimit = _buf.ReadFloat();
PostInit();
}
public static SkillAttrDamageData DeserializeSkillAttrDamageData(ByteBuf _buf)
{
return new Battle.SkillAttrDamageData(_buf);
}
public Battle.SkillMagicType MagicType { get; private set; }
public Battle.SkillAttrDamageType AttrType { get; private set; }
public float Param1 { get; private set; }
public float Param2 { get; private set; }
public float Param3 { get; private set; }
public float MaxLimit { get; private set; }
public const int __ID__ = -94519547;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "MagicType:" + MagicType + ","
+ "AttrType:" + AttrType + ","
+ "Param1:" + Param1 + ","
+ "Param2:" + Param2 + ","
+ "Param3:" + Param3 + ","
+ "MaxLimit:" + MaxLimit + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,40 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum SkillAttrDamageType
{
/// <summary>
/// 无数值
/// </summary>
ATTR_TYPE_NONE = 0,
/// <summary>
/// 按释放者的伤害类型*X%+固定值计算,目标有防御计算
/// </summary>
ATTR_TYPE_DMG_WEAPON = 1,
/// <summary>
/// 按释放者的伤害类型*X%+固定值计算(无视目标的防御)
/// </summary>
ATTR_TYPE_DMG_NO_DEFEND = 2,
/// <summary>
/// 按受击者的气血上限*X%+固定值计算(无视目标的防御)
/// </summary>
ATTR_TYPE_DMG_TARGET_HP_NO_DEFEND = 3,
/// <summary>
/// 按释放者的攻击类型*X%+固定值计算,恢复当前生命
/// </summary>
ATTR_TYPE_HP_AS_ATK = 4,
/// <summary>
/// 按受击者的HP上限*X%+固定值计算,恢复当前生命
/// </summary>
ATTR_TYPE_HP_RATIO = 5,
}
}

View File

@@ -0,0 +1,114 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public sealed partial class SkillBaseConfig : Bright.Config.BeanBase
{
public SkillBaseConfig(ByteBuf _buf)
{
Id = _buf.ReadInt();
Name = _buf.ReadString();
SkillDispID = _buf.ReadInt();
SkillType = _buf.ReadInt();
Desc = _buf.ReadString();
CostMP = _buf.ReadInt();
GCDID = _buf.ReadInt();
SkillCD = _buf.ReadFloat();
IsRepeatTrigger = _buf.ReadBool();
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);BuffID = new System.Collections.Generic.List<int>(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { int _e0; _e0 = _buf.ReadInt(); BuffID.Add(_e0);}}
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);AttrDamageData = new System.Collections.Generic.List<Battle.SkillAttrDamageData>(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { Battle.SkillAttrDamageData _e0; _e0 = Battle.SkillAttrDamageData.DeserializeSkillAttrDamageData(_buf); AttrDamageData.Add(_e0);}}
PostInit();
}
public static SkillBaseConfig DeserializeSkillBaseConfig(ByteBuf _buf)
{
return new Battle.SkillBaseConfig(_buf);
}
/// <summary>
/// 技能ID
/// </summary>
public int Id { get; private set; }
/// <summary>
/// 名字
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 表现ID
/// </summary>
public int SkillDispID { get; private set; }
/// <summary>
/// 技能类型SkillType
/// </summary>
public int SkillType { get; private set; }
/// <summary>
/// 描述
/// </summary>
public string Desc { get; private set; }
/// <summary>
/// 消耗MP
/// </summary>
public int CostMP { get; private set; }
/// <summary>
/// 所属公CD组ID
/// </summary>
public int GCDID { get; private set; }
/// <summary>
/// 技能CD
/// </summary>
public float SkillCD { get; private set; }
/// <summary>
/// 是否重复触发
/// </summary>
public bool IsRepeatTrigger { get; private set; }
/// <summary>
/// BuffIDList
/// </summary>
public System.Collections.Generic.List<int> BuffID { get; private set; }
public System.Collections.Generic.List<Battle.SkillAttrDamageData> AttrDamageData { get; private set; }
public const int __ID__ = 2067672430;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var _e in AttrDamageData) { _e?.Resolve(_tables); }
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var _e in AttrDamageData) { _e?.TranslateText(translator); }
}
public override string ToString()
{
return "{ "
+ "Id:" + Id + ","
+ "Name:" + Name + ","
+ "SkillDispID:" + SkillDispID + ","
+ "SkillType:" + SkillType + ","
+ "Desc:" + Desc + ","
+ "CostMP:" + CostMP + ","
+ "GCDID:" + GCDID + ","
+ "SkillCD:" + SkillCD + ","
+ "IsRepeatTrigger:" + IsRepeatTrigger + ","
+ "BuffID:" + Bright.Common.StringUtil.CollectionToString(BuffID) + ","
+ "AttrDamageData:" + Bright.Common.StringUtil.CollectionToString(AttrDamageData) + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,28 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.Battle
{
public enum SkillMagicType
{
/// <summary>
/// 无类型
/// </summary>
SKILL_TYPE_NONE = 0,
/// <summary>
/// 物理伤害属性
/// </summary>
SKILL_TYPE_DMG_PHY = 1,
/// <summary>
/// 魔法伤害属性
/// </summary>
SKILL_TYPE_DMG_MAGIC = 2,
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public partial class TbBuff
{
private readonly Dictionary<int, Battle.BuffConfig> _dataMap;
private readonly List<Battle.BuffConfig> _dataList;
public TbBuff(ByteBuf _buf)
{
_dataMap = new Dictionary<int, Battle.BuffConfig>();
_dataList = new List<Battle.BuffConfig>();
for(int n = _buf.ReadSize() ; n > 0 ; --n)
{
Battle.BuffConfig _v;
_v = Battle.BuffConfig.DeserializeBuffConfig(_buf);
_dataList.Add(_v);
_dataMap.Add(_v.BuffID, _v);
}
PostInit();
}
public Dictionary<int, Battle.BuffConfig> DataMap => _dataMap;
public List<Battle.BuffConfig> DataList => _dataList;
public Battle.BuffConfig GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public Battle.BuffConfig Get(int key) => _dataMap[key];
public Battle.BuffConfig this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public partial class TbBuffAttr
{
private readonly Dictionary<int, Battle.BuffAttrConfig> _dataMap;
private readonly List<Battle.BuffAttrConfig> _dataList;
public TbBuffAttr(ByteBuf _buf)
{
_dataMap = new Dictionary<int, Battle.BuffAttrConfig>();
_dataList = new List<Battle.BuffAttrConfig>();
for(int n = _buf.ReadSize() ; n > 0 ; --n)
{
Battle.BuffAttrConfig _v;
_v = Battle.BuffAttrConfig.DeserializeBuffAttrConfig(_buf);
_dataList.Add(_v);
_dataMap.Add(_v.BuffID, _v);
}
PostInit();
}
public Dictionary<int, Battle.BuffAttrConfig> DataMap => _dataMap;
public List<Battle.BuffAttrConfig> DataList => _dataList;
public Battle.BuffAttrConfig GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public Battle.BuffAttrConfig Get(int key) => _dataMap[key];
public Battle.BuffAttrConfig this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.Battle
{
public partial class TbSkill
{
private readonly Dictionary<int, Battle.SkillBaseConfig> _dataMap;
private readonly List<Battle.SkillBaseConfig> _dataList;
public TbSkill(ByteBuf _buf)
{
_dataMap = new Dictionary<int, Battle.SkillBaseConfig>();
_dataList = new List<Battle.SkillBaseConfig>();
for(int n = _buf.ReadSize() ; n > 0 ; --n)
{
Battle.SkillBaseConfig _v;
_v = Battle.SkillBaseConfig.DeserializeSkillBaseConfig(_buf);
_dataList.Add(_v);
_dataMap.Add(_v.Id, _v);
}
PostInit();
}
public Dictionary<int, Battle.SkillBaseConfig> DataMap => _dataMap;
public List<Battle.SkillBaseConfig> DataList => _dataList;
public Battle.SkillBaseConfig GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public Battle.SkillBaseConfig Get(int key) => _dataMap[key];
public Battle.SkillBaseConfig this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
namespace GameConfig
{
public partial class Tables
{
public item.TbItem TbItem {get; }
public Battle.TbSkill TbSkill {get; }
public Battle.TbBuff TbBuff {get; }
public Battle.TbBuffAttr TbBuffAttr {get; }
public Tables(System.Func<string, ByteBuf> loader)
{
var tables = new System.Collections.Generic.Dictionary<string, object>();
TbItem = new item.TbItem(loader("item_tbitem"));
tables.Add("item.TbItem", TbItem);
TbSkill = new Battle.TbSkill(loader("battle_tbskill"));
tables.Add("Battle.TbSkill", TbSkill);
TbBuff = new Battle.TbBuff(loader("battle_tbbuff"));
tables.Add("Battle.TbBuff", TbBuff);
TbBuffAttr = new Battle.TbBuffAttr(loader("battle_tbbuffattr"));
tables.Add("Battle.TbBuffAttr", TbBuffAttr);
PostInit();
TbItem.Resolve(tables);
TbSkill.Resolve(tables);
TbBuff.Resolve(tables);
TbBuffAttr.Resolve(tables);
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
TbItem.TranslateText(translator);
TbSkill.TranslateText(translator);
TbBuff.TranslateText(translator);
TbBuffAttr.TranslateText(translator);
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,32 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.item
{
public enum EQuality
{
/// <summary>
/// 最差品质
/// </summary>
WHITE = 1,
/// <summary>
/// 蓝色的
/// </summary>
BLUE = 2,
/// <summary>
/// 紫色的
/// </summary>
PURPLE = 3,
/// <summary>
/// 最高品质
/// </summary>
RED = 4,
}
}

View File

@@ -0,0 +1,120 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.item
{
public sealed partial class Item : Bright.Config.BeanBase
{
public Item(ByteBuf _buf)
{
Id = _buf.ReadInt();
Name = _buf.ReadString();
Desc = _buf.ReadString();
Price = _buf.ReadInt();
UpgradeToItemId = _buf.ReadInt();
if(_buf.ReadBool()){ ExpireTime = _buf.ReadInt(); } else { ExpireTime = null; }
BatchUseable = _buf.ReadBool();
Quality = (item.EQuality)_buf.ReadInt();
ExchangeStream = item.ItemExchange.DeserializeItemExchange(_buf);
{int n0 = System.Math.Min(_buf.ReadSize(), _buf.Size);ExchangeList = new System.Collections.Generic.List<item.ItemExchange>(n0);for(var i0 = 0 ; i0 < n0 ; i0++) { item.ItemExchange _e0; _e0 = item.ItemExchange.DeserializeItemExchange(_buf); ExchangeList.Add(_e0);}}
ExchangeColumn = item.ItemExchange.DeserializeItemExchange(_buf);
PostInit();
}
public static Item DeserializeItem(ByteBuf _buf)
{
return new item.Item(_buf);
}
/// <summary>
/// 这是id
/// </summary>
public int Id { get; private set; }
/// <summary>
/// 名字
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 描述
/// </summary>
public string Desc { get; private set; }
/// <summary>
/// 价格
/// </summary>
public int Price { get; private set; }
/// <summary>
/// 引用当前表
/// </summary>
public int UpgradeToItemId { get; private set; }
public item.Item UpgradeToItemId_Ref { get; private set; }
/// <summary>
/// 过期时间
/// </summary>
public int? ExpireTime { get; private set; }
/// <summary>
/// 能否批量使用
/// </summary>
public bool BatchUseable { get; private set; }
/// <summary>
/// 品质
/// </summary>
public item.EQuality Quality { get; private set; }
/// <summary>
/// 道具兑换配置
/// </summary>
public item.ItemExchange ExchangeStream { get; private set; }
public System.Collections.Generic.List<item.ItemExchange> ExchangeList { get; private set; }
/// <summary>
/// 道具兑换配置
/// </summary>
public item.ItemExchange ExchangeColumn { get; private set; }
public const int __ID__ = 2107285806;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
this.UpgradeToItemId_Ref = (_tables["item.TbItem"] as item.TbItem).GetOrDefault(UpgradeToItemId);
ExchangeStream?.Resolve(_tables);
foreach(var _e in ExchangeList) { _e?.Resolve(_tables); }
ExchangeColumn?.Resolve(_tables);
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
ExchangeStream?.TranslateText(translator);
foreach(var _e in ExchangeList) { _e?.TranslateText(translator); }
ExchangeColumn?.TranslateText(translator);
}
public override string ToString()
{
return "{ "
+ "Id:" + Id + ","
+ "Name:" + Name + ","
+ "Desc:" + Desc + ","
+ "Price:" + Price + ","
+ "UpgradeToItemId:" + UpgradeToItemId + ","
+ "ExpireTime:" + ExpireTime + ","
+ "BatchUseable:" + BatchUseable + ","
+ "Quality:" + Quality + ","
+ "ExchangeStream:" + ExchangeStream + ","
+ "ExchangeList:" + Bright.Common.StringUtil.CollectionToString(ExchangeList) + ","
+ "ExchangeColumn:" + ExchangeColumn + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,61 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.item
{
public sealed partial class ItemExchange : Bright.Config.BeanBase
{
public ItemExchange(ByteBuf _buf)
{
Id = _buf.ReadInt();
Num = _buf.ReadInt();
PostInit();
}
public static ItemExchange DeserializeItemExchange(ByteBuf _buf)
{
return new item.ItemExchange(_buf);
}
/// <summary>
/// 道具id
/// </summary>
public int Id { get; private set; }
/// <summary>
/// 道具数量
/// </summary>
public int Num { get; private set; }
public const int __ID__ = 1814660465;
public override int GetTypeId() => __ID__;
public void Resolve(Dictionary<string, object> _tables)
{
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
}
public override string ToString()
{
return "{ "
+ "Id:" + Id + ","
+ "Num:" + Num + ","
+ "}";
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
namespace GameConfig.item
{
public partial class TbItem
{
private readonly Dictionary<int, item.Item> _dataMap;
private readonly List<item.Item> _dataList;
public TbItem(ByteBuf _buf)
{
_dataMap = new Dictionary<int, item.Item>();
_dataList = new List<item.Item>();
for(int n = _buf.ReadSize() ; n > 0 ; --n)
{
item.Item _v;
_v = item.Item.DeserializeItem(_buf);
_dataList.Add(_v);
_dataMap.Add(_v.Id, _v);
}
PostInit();
}
public Dictionary<int, item.Item> DataMap => _dataMap;
public List<item.Item> DataList => _dataList;
public item.Item GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public item.Item Get(int key) => _dataMap[key];
public item.Item this[int key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GameConfig.test
{
[System.Flags]
public enum AccessFlag
{
WRITE = 1,
READ = 2,
TRUNCATE = 4,
NEW = 8,
/// <summary>
/// 位标记使用示例
/// </summary>
READ_WRITE = WRITE|READ,
}
}