|
@@ -0,0 +1,160 @@
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using MongoDB.Bson.Serialization.Attributes;
|
|
|
+using ProtoBuf;
|
|
|
+
|
|
|
+namespace ET
|
|
|
+{
|
|
|
+ [ProtoContract]
|
|
|
+ [Config]
|
|
|
+ public partial class SkillConfigCategory : ConfigSingleton<SkillConfigCategory>, IMerge
|
|
|
+ {
|
|
|
+ [ProtoIgnore]
|
|
|
+ [BsonIgnore]
|
|
|
+ private Dictionary<int, SkillConfig> dict = new Dictionary<int, SkillConfig>();
|
|
|
+
|
|
|
+ [BsonElement]
|
|
|
+ [ProtoMember(1)]
|
|
|
+ private List<SkillConfig> list = new List<SkillConfig>();
|
|
|
+
|
|
|
+ public void Merge(object o)
|
|
|
+ {
|
|
|
+ SkillConfigCategory s = o as SkillConfigCategory;
|
|
|
+ this.list.AddRange(s.list);
|
|
|
+ }
|
|
|
+
|
|
|
+ [ProtoAfterDeserialization]
|
|
|
+ public void ProtoEndInit()
|
|
|
+ {
|
|
|
+ foreach (SkillConfig config in list)
|
|
|
+ {
|
|
|
+ config.AfterEndInit();
|
|
|
+ this.dict.Add(config.Id, config);
|
|
|
+ }
|
|
|
+ this.list.Clear();
|
|
|
+
|
|
|
+ this.AfterEndInit();
|
|
|
+ }
|
|
|
+
|
|
|
+ public SkillConfig Get(int id)
|
|
|
+ {
|
|
|
+ this.dict.TryGetValue(id, out SkillConfig item);
|
|
|
+
|
|
|
+ if (item == null)
|
|
|
+ {
|
|
|
+ throw new Exception($"配置找不到,配置表名: {nameof (SkillConfig)},配置id: {id}");
|
|
|
+ }
|
|
|
+
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+
|
|
|
+ public bool Contain(int id)
|
|
|
+ {
|
|
|
+ return this.dict.ContainsKey(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ public Dictionary<int, SkillConfig> GetAll()
|
|
|
+ {
|
|
|
+ return this.dict;
|
|
|
+ }
|
|
|
+
|
|
|
+ public SkillConfig GetOne()
|
|
|
+ {
|
|
|
+ if (this.dict == null || this.dict.Count <= 0)
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return this.dict.Values.GetEnumerator().Current;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ [ProtoContract]
|
|
|
+ public partial class SkillConfig: ProtoObject, IConfig
|
|
|
+ {
|
|
|
+ /// <summary>Id</summary>
|
|
|
+ [ProtoMember(1)]
|
|
|
+ public int Id { get; set; }
|
|
|
+ /// <summary>显示序列</summary>
|
|
|
+ [ProtoMember(2)]
|
|
|
+ public int SkillIndex { get; set; }
|
|
|
+ /// <summary>技能名称</summary>
|
|
|
+ [ProtoMember(3)]
|
|
|
+ public string SkillName { get; set; }
|
|
|
+ /// <summary>系别</summary>
|
|
|
+ [ProtoMember(4)]
|
|
|
+ public int ProId { get; set; }
|
|
|
+ /// <summary>系别</summary>
|
|
|
+ [ProtoMember(5)]
|
|
|
+ public int Tab { get; set; }
|
|
|
+ /// <summary>技能类型</summary>
|
|
|
+ [ProtoMember(6)]
|
|
|
+ public int SkillType { get; set; }
|
|
|
+ /// <summary>技能描述</summary>
|
|
|
+ [ProtoMember(7)]
|
|
|
+ public string SkillDesc { get; set; }
|
|
|
+ /// <summary>基础技能升级描述</summary>
|
|
|
+ [ProtoMember(8)]
|
|
|
+ public string UpDesc { get; set; }
|
|
|
+ /// <summary>基础技能学习物品code</summary>
|
|
|
+ [ProtoMember(9)]
|
|
|
+ public string SkillItemCode { get; set; }
|
|
|
+ /// <summary>最高等级</summary>
|
|
|
+ [ProtoMember(10)]
|
|
|
+ public int MaxLevel { get; set; }
|
|
|
+ /// <summary>是否绑定解锁</summary>
|
|
|
+ [ProtoMember(11)]
|
|
|
+ public int LearnSkill { get; set; }
|
|
|
+ /// <summary>技能图标</summary>
|
|
|
+ [ProtoMember(12)]
|
|
|
+ public string SkillIcon { get; set; }
|
|
|
+ /// <summary>解锁升级需要人物等级序列</summary>
|
|
|
+ [ProtoMember(13)]
|
|
|
+ public string UpReqLevel { get; set; }
|
|
|
+ /// <summary>重置人物等级序列需要金币</summary>
|
|
|
+ [ProtoMember(14)]
|
|
|
+ public string ResetReqLevel { get; set; }
|
|
|
+ /// <summary>升级需要人物仙阶等级</summary>
|
|
|
+ [ProtoMember(15)]
|
|
|
+ public int UpReqLevel2 { get; set; }
|
|
|
+ /// <summary>升级花费金币序列</summary>
|
|
|
+ [ProtoMember(16)]
|
|
|
+ public string UpCostGold { get; set; }
|
|
|
+ /// <summary>升至本级花费技能点序列</summary>
|
|
|
+ [ProtoMember(17)]
|
|
|
+ public string UpCostSP { get; set; }
|
|
|
+ /// <summary>升级消耗道具序列</summary>
|
|
|
+ [ProtoMember(18)]
|
|
|
+ public string UpCostItem { get; set; }
|
|
|
+ /// <summary>每等级提供战斗力</summary>
|
|
|
+ [ProtoMember(19)]
|
|
|
+ public string Power { get; set; }
|
|
|
+ /// <summary>对应基础技能</summary>
|
|
|
+ [ProtoMember(20)]
|
|
|
+ public int BaseId { get; set; }
|
|
|
+ /// <summary>强化技能孔位</summary>
|
|
|
+ [ProtoMember(21)]
|
|
|
+ public int Pos { get; set; }
|
|
|
+ /// <summary>强化技能分支类型</summary>
|
|
|
+ [ProtoMember(22)]
|
|
|
+ public int BranchType { get; set; }
|
|
|
+ /// <summary>强化技能分支Icon</summary>
|
|
|
+ [ProtoMember(23)]
|
|
|
+ public string StrongIcon { get; set; }
|
|
|
+ /// <summary>强化技能阶段前置</summary>
|
|
|
+ [ProtoMember(24)]
|
|
|
+ public int StrongUnLockPre { get; set; }
|
|
|
+ /// <summary>强化技能描述</summary>
|
|
|
+ [ProtoMember(25)]
|
|
|
+ public string StrongBranchDesc { get; set; }
|
|
|
+ /// <summary>天赋分支名称</summary>
|
|
|
+ [ProtoMember(26)]
|
|
|
+ public string GeniusName { get; set; }
|
|
|
+ /// <summary>对应强化名称</summary>
|
|
|
+ [ProtoMember(27)]
|
|
|
+ public string StrongName { get; set; }
|
|
|
+ /// <summary>强化图标图集</summary>
|
|
|
+ [ProtoMember(28)]
|
|
|
+ public string Atlas { get; set; }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|