Пример #1
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2015/10/19 11:11:29</remarks>
        public bool Update(DicSkillEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_DicSkill_Update");

            database.AddInParameter(commandWrapper, "@SkillId", DbType.Int32, entity.SkillId);
            database.AddInParameter(commandWrapper, "@SkillCode", DbType.AnsiString, entity.SkillCode);
            database.AddInParameter(commandWrapper, "@SkillLevel", DbType.Int32, entity.SkillLevel);
            database.AddInParameter(commandWrapper, "@SkillName", DbType.String, entity.SkillName);
            database.AddInParameter(commandWrapper, "@BuffSrcType", DbType.Int32, entity.BuffSrcType);
            database.AddInParameter(commandWrapper, "@RefType", DbType.AnsiString, entity.RefType);
            database.AddInParameter(commandWrapper, "@RefKey", DbType.AnsiString, entity.RefKey);
            database.AddInParameter(commandWrapper, "@RefFlag", DbType.AnsiString, entity.RefFlag);
            database.AddInParameter(commandWrapper, "@SkillType", DbType.Int32, entity.SkillType);
            database.AddInParameter(commandWrapper, "@PoolFlag", DbType.Int32, entity.PoolFlag);
            database.AddInParameter(commandWrapper, "@LiveFlag", DbType.Int32, entity.LiveFlag);
            database.AddInParameter(commandWrapper, "@Memo", DbType.String, entity.Memo);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }


            return(Convert.ToBoolean(results));
        }
Пример #2
0
        /// <summary>
        /// 将IDataReader的当前记录读取到DicSkillEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public DicSkillEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new DicSkillEntity();

            obj.SkillId     = (System.Int32)reader["SkillId"];
            obj.SkillCode   = (System.String)reader["SkillCode"];
            obj.SkillLevel  = (System.Int32)reader["SkillLevel"];
            obj.SkillName   = (System.String)reader["SkillName"];
            obj.BuffSrcType = (System.Int32)reader["BuffSrcType"];
            obj.RefType     = (System.String)reader["RefType"];
            obj.RefKey      = (System.String)reader["RefKey"];
            obj.RefFlag     = (System.String)reader["RefFlag"];
            obj.SkillType   = (System.Int32)reader["SkillType"];
            obj.PoolFlag    = (System.Int32)reader["PoolFlag"];
            obj.LiveFlag    = (System.Int32)reader["LiveFlag"];
            obj.Memo        = (System.String)reader["Memo"];
            obj.RowTime     = (System.DateTime)reader["RowTime"];

            return(obj);
        }
Пример #3
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="skillCode">skillCode</param>
        /// <param name="skillLevel">skillLevel</param>
        /// <returns>DicSkillEntity</returns>
        /// <remarks>2015/10/19 11:11:29</remarks>
        public DicSkillEntity GetById(System.String skillCode, System.Int32 skillLevel)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_DicSkill_GetById");

            database.AddInParameter(commandWrapper, "@SkillCode", DbType.AnsiString, skillCode);
            database.AddInParameter(commandWrapper, "@SkillLevel", DbType.Int32, skillLevel);


            DicSkillEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Пример #4
0
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2015/10/19 11:11:29</remarks>
 public bool Update(DicSkillEntity entity)
 {
     return(Update(entity, null));
 }
Пример #5
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2015/10/19 11:11:29</remarks>
 public bool Insert(DicSkillEntity entity)
 {
     return(Insert(entity, null));
 }
Пример #6
0
 private BuffCache()
 {
     try
     {
         s_dicBuffIdx4PlayerProp.Clear();
         s_dicBuffIdx4ManagerShow.Clear();
         s_dicBuff.Clear();
         s_dicBaseBuff.Clear();
         s_dicSkill.Clear();
         s_dicSkillRef.Clear();
         s_dicPoolIncBuff.Clear();
         s_dicPoolExcBuff.Clear();
         s_dicFirmBuff.Clear();
         s_dicReadyBuff.Clear();
         var buffs  = DicBuffMgr.GetAllForCache();
         var skills = DicSkillMgr.GetAll();
         var pools  = ConfigBuffpoolMgr.GetAll();
         var flows  = ConfigBuffengineMgr.GetAll();
         for (int i = 0; i < BUFFCodes4PlayerProp.Length; ++i)
         {
             s_dicBuffIdx4PlayerProp[(int)BUFFCodes4PlayerProp[i]] = i;
         }
         for (int i = 0; i < BUFFCodes4ManagerShow.Length; ++i)
         {
             s_dicBuffIdx4ManagerShow[(int)BUFFCodes4ManagerShow[i]] = i;
         }
         foreach (var item in buffs)
         {
             s_dicBuff[item.BuffId] = item;
             if (string.IsNullOrEmpty(item.BaseBuffMap))
             {
                 s_dicBaseBuff[item.BuffId] = new int[] { item.BuffId }
             }
             ;
             else
             {
                 s_dicBaseBuff[item.BuffId] = FrameUtil.CastIntArray(item.BaseBuffMap, SPLITValues);
             }
         }
         string skillKey, skillRefKey;
         skillKey = skillRefKey = string.Empty;
         foreach (var item in skills)
         {
             item.AsLiveFlag      = item.LiveFlag > 0 ? EnumSkillLiveFlag.Live : EnumSkillLiveFlag.None;
             skillKey             = CastSkillKey(item.SkillCode, item.SkillLevel);
             skillRefKey          = CastSkillRefKey(item.RefType, item.RefKey, item.RefFlag);
             s_dicSkill[skillKey] = item;
             if (!string.IsNullOrEmpty(skillRefKey))
             {
                 s_dicSkillRef[skillRefKey] = skillKey;
             }
         }
         DicSkillEntity aObj = null;
         foreach (var item in pools)
         {
             skillKey = CastSkillKey(item.SkillCode, item.SkillLevel);
             if (!s_dicSkill.TryGetValue(skillKey, out aObj))
             {
                 aObj = new DicSkillEntity
                 {
                     SkillCode   = item.SkillCode,
                     SkillLevel  = item.SkillLevel,
                     BuffSrcType = item.BuffSrcType,
                 };
                 s_dicSkill[skillKey] = aObj;
             }
             aObj.PoolFlag       = 1;
             aObj.AsLiveFlag    |= item.LiveFlag == 0 ? EnumSkillLiveFlag.Firm : EnumSkillLiveFlag.Ready;
             item.BaseBuffList   = GetBaseBuffArray(item.BuffMap);
             item.PropIndexList  = GetPropIndexArray(item.BaseBuffList);
             item.AsBuffUnitType = GetBuffUnitType(item.BaseBuffList);
             if (!s_dicPoolIncBuff.ContainsKey(skillKey))
             {
                 s_dicPoolIncBuff[skillKey] = new List <ConfigBuffpoolEntity>();
             }
             s_dicPoolIncBuff[skillKey].Add(item);
         }
         GenPoolExcBuff(pools);
         foreach (var item in flows)
         {
             skillKey = CastSkillKey(item.SkillCode, item.SkillLevel);
             if (!s_dicSkill.TryGetValue(skillKey, out aObj))
             {
                 aObj = new DicSkillEntity
                 {
                     SkillCode   = item.SkillCode,
                     SkillLevel  = item.SkillLevel,
                     BuffSrcType = item.BuffSrcType,
                 };
                 s_dicSkill[skillKey] = aObj;
             }
             aObj.AsLiveFlag    |= item.LiveFlag == 0 ? EnumSkillLiveFlag.Firm : EnumSkillLiveFlag.Ready;
             item.BaseBuffList   = GetBaseBuffArray(item.BuffMap);
             item.PropIndexList  = GetPropIndexArray(item.BaseBuffList);
             item.AsBuffUnitType = GetBuffUnitType(item.BaseBuffList);
             if (item.LiveFlag == 0)
             {
                 if (!s_dicFirmBuff.ContainsKey(skillKey))
                 {
                     s_dicFirmBuff[skillKey] = new List <ConfigBuffengineEntity>();
                 }
                 s_dicFirmBuff[skillKey].Add(item);
             }
             else
             {
                 if (!s_dicReadyBuff.ContainsKey(skillKey))
                 {
                     s_dicReadyBuff[skillKey] = new List <ConfigBuffengineEntity>();
                 }
                 s_dicReadyBuff[skillKey].Add(item);
             }
         }
         this.InitFlag = true;
     }
     catch (Exception ex)
     {
         LogHelper.Insert(ex, "BuffCache:Init");
         this.InitFlag = false;
     }
 }
Пример #7
0
 public bool TryGetSkill(out DicSkillEntity cfg, string skillCode, int skillLevel = 0)
 {
     s_dicSkill.TryGetValue(CastSkillKey(FixSkillKey(skillCode), skillLevel), out cfg);
     return(null != cfg);
 }
Пример #8
0
 public BuffSrcTipsEntity(DicSkillEntity dic)
 {
     this.SkillCode  = dic.SkillCode;
     this.SkillLevel = dic.SkillLevel;
     this.SkillName  = dic.SkillName;
 }
Пример #9
0
        public static bool Update(DicSkillEntity dicSkillEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new DicSkillProvider(zoneId);

            return(provider.Update(dicSkillEntity, trans));
        }