/// <summary>
        /// 注册球星启示录npc
        /// </summary>
        private void ReBuildRevelationNpc()
        {
            BuildCache();
            var allnpcTemp = ConfigRevelationnpctempMgr.GetAll();

            SqlHelper.ExecuteNonQuery(_connection, CommandType.Text, "Delete From Dic_Npc Where Type=3;Truncate table Config_RevelationNpcLink");
            int index = 0;

            foreach (var item in allnpcTemp)
            {
                index++;
                DicNpcEntity entity = new DicNpcEntity();
                entity.Idx                = ShareUtil.GenerateComb();
                entity.Type               = 3;
                entity.Name               = item.OpponentTeamName;
                entity.Logo               = 1;
                entity.FormationId        = item.FormationID;
                entity.FormationLevel     = item.PlayerLevel;
                entity.TeammemberLevel    = item.PlayerLevel;
                entity.PlayerCardStrength = item.PlayerCardStrength;
                entity.CoachId            = 0;
                entity.DoTalent           = GetDoTalent();         //主动天赋
                entity.ManagerSkill       = GetNodoManagerSkill(); //被动天赋和意志
                int comb = 0;
                entity.DoWill    = GetDoWill(ref comb);            //主动意志
                entity.CombLevel = item.PlayerLevel;
                entity.Buff      = item.Buff;

                entity.TP1 = item.P1;
                entity.TP2 = item.P2;
                entity.TP3 = item.P3;
                entity.TP4 = item.P4;
                entity.TP5 = item.P5;
                entity.TP6 = item.P6;
                entity.TP7 = item.P7;

                entity.TE1 = 211071;
                entity.TE2 = 211076;
                entity.TE3 = 211072;
                entity.TE4 = 211073;
                entity.TE5 = 211074;
                entity.TE6 = 211075;
                entity.TE7 = 211077;

                entity.TS1 = "A031_40";
                entity.TS2 = "A033_40";
                entity.TS3 = "A027_40";
                entity.TS4 = "A034_40";
                entity.TS5 = "A030_40";
                entity.TS6 = "A032_40";
                entity.TS7 = "A028_40";
                DicNpcMgr.Insert(entity);
                ConfigRevelationnpclinkMgr.Insert(new ConfigRevelationnpclinkEntity(index, item.MarkId, item.Schedule,
                                                                                    entity.Idx));
                m_curCount++;
                ProgressBar1.Value = m_curCount;
                lblProcess.Content = string.Format("进度:{0}/{1}", m_curCount, m_totalCount);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2016/1/18 14:25:07</remarks>
        public bool Update(DicNpcEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_DicNpc_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Guid, entity.Idx);
            database.AddInParameter(commandWrapper, "@Type", DbType.Int32, entity.Type);
            database.AddInParameter(commandWrapper, "@Name", DbType.String, entity.Name);
            database.AddInParameter(commandWrapper, "@Logo", DbType.Int32, entity.Logo);
            database.AddInParameter(commandWrapper, "@FormationId", DbType.Int32, entity.FormationId);
            database.AddInParameter(commandWrapper, "@FormationLevel", DbType.Int32, entity.FormationLevel);
            database.AddInParameter(commandWrapper, "@TeammemberLevel", DbType.Int32, entity.TeammemberLevel);
            database.AddInParameter(commandWrapper, "@PlayerCardStrength", DbType.Int32, entity.PlayerCardStrength);
            database.AddInParameter(commandWrapper, "@CoachId", DbType.Int32, entity.CoachId);
            database.AddInParameter(commandWrapper, "@DoTalent", DbType.AnsiString, entity.DoTalent);
            database.AddInParameter(commandWrapper, "@DoWill", DbType.AnsiString, entity.DoWill);
            database.AddInParameter(commandWrapper, "@ManagerSkill", DbType.AnsiString, entity.ManagerSkill);
            database.AddInParameter(commandWrapper, "@CombLevel", DbType.Int32, entity.CombLevel);
            database.AddInParameter(commandWrapper, "@Buff", DbType.Int32, entity.Buff);
            database.AddInParameter(commandWrapper, "@PropertyPoint", DbType.Int32, entity.PropertyPoint);
            database.AddInParameter(commandWrapper, "@TP1", DbType.Int32, entity.TP1);
            database.AddInParameter(commandWrapper, "@TE1", DbType.Int32, entity.TE1);
            database.AddInParameter(commandWrapper, "@TS1", DbType.AnsiString, entity.TS1);
            database.AddInParameter(commandWrapper, "@TP2", DbType.Int32, entity.TP2);
            database.AddInParameter(commandWrapper, "@TE2", DbType.Int32, entity.TE2);
            database.AddInParameter(commandWrapper, "@TS2", DbType.AnsiString, entity.TS2);
            database.AddInParameter(commandWrapper, "@TP3", DbType.Int32, entity.TP3);
            database.AddInParameter(commandWrapper, "@TE3", DbType.Int32, entity.TE3);
            database.AddInParameter(commandWrapper, "@TS3", DbType.AnsiString, entity.TS3);
            database.AddInParameter(commandWrapper, "@TP4", DbType.Int32, entity.TP4);
            database.AddInParameter(commandWrapper, "@TE4", DbType.Int32, entity.TE4);
            database.AddInParameter(commandWrapper, "@TS4", DbType.AnsiString, entity.TS4);
            database.AddInParameter(commandWrapper, "@TP5", DbType.Int32, entity.TP5);
            database.AddInParameter(commandWrapper, "@TE5", DbType.Int32, entity.TE5);
            database.AddInParameter(commandWrapper, "@TS5", DbType.AnsiString, entity.TS5);
            database.AddInParameter(commandWrapper, "@TP6", DbType.Int32, entity.TP6);
            database.AddInParameter(commandWrapper, "@TE6", DbType.Int32, entity.TE6);
            database.AddInParameter(commandWrapper, "@TS6", DbType.AnsiString, entity.TS6);
            database.AddInParameter(commandWrapper, "@TP7", DbType.Int32, entity.TP7);
            database.AddInParameter(commandWrapper, "@TE7", DbType.Int32, entity.TE7);
            database.AddInParameter(commandWrapper, "@TS7", DbType.AnsiString, entity.TS7);


            int results = 0;

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

            entity.Idx = (System.Guid)database.GetParameterValue(commandWrapper, "@Idx");

            return(Convert.ToBoolean(results));
        }
Beispiel #3
0
 public static Match_FightManagerinfo GetFightinfo(DicNpcEntity npcEntity, DTOBuffMemberView buffView = null, bool isNpc = false)
 {
     if (null == buffView)
     {
         buffView = NpcDataHelper.GetMemberView(npcEntity);
     }
     return(GetFightinfo(npcEntity.Idx, npcEntity.Name, npcEntity.FormationId, npcEntity.Level, npcEntity.Logo.ToString(),
                         npcEntity.CoachId
                         , buffView, "", isNpc));
 }
Beispiel #4
0
        public static ManagerInput BuildTransferNpc(DicNpcEntity npcEntity, DTOBuffMemberView buffView)
        {
            var dstData = new ManagerInput();

            dstData.Mid    = npcEntity.Idx;
            dstData.Logo   = npcEntity.Logo.ToString();
            dstData.Name   = npcEntity.Name;
            dstData.FormId = npcEntity.FormationId;
            dstData.FormLv = npcEntity.FormationLevel;

            BuildManagerData(dstData, buffView, 0, npcEntity.Buff);
            return(dstData);
        }
Beispiel #5
0
        public Match_FightinfoResponse GetLeagueFightInfo(Guid matchId, Guid managerId)
        {
            LeagueEncounterEntity matchInfo = LeagueEncounterMgr.GetById(matchId);

            DicNpcEntity homeNpc = null;
            DicNpcEntity awayNpc = null;

            if (matchInfo.HomeIsNpc)
            {
                homeNpc = CacheFactory.NpcdicCache.GetNpc(matchInfo.HomeId);
            }
            if (matchInfo.AwayIsNpc)
            {
                awayNpc = CacheFactory.NpcdicCache.GetNpc(matchInfo.AwayId);
            }

            DTOBuffMemberView homeView, awayView;

            BuffDataCore.Instance().GetMembers(out homeView, out awayView,
                                               "", matchInfo.HomeId, matchInfo.HomeIsNpc, "", matchInfo.AwayId, matchInfo.AwayIsNpc, true, false);

            Match_FightManagerinfo home, away;

            if (matchInfo.HomeIsNpc)
            {
                home = MatchDataHelper.GetFightinfo(homeNpc, homeView);
            }
            else
            {
                home = MatchDataHelper.GetFightinfo(matchInfo.HomeId, false, homeView, "");
            }
            if (matchInfo.AwayIsNpc)
            {
                away = MatchDataHelper.GetFightinfo(awayNpc, awayView);
            }
            else
            {
                away = MatchDataHelper.GetFightinfo(matchInfo.AwayId, false, awayView, "");
            }
            if (home == null || away == null)
            {
                return(ResponseHelper.Create <Match_FightinfoResponse>(MessageCode.NbParameterError));
            }

            var response = ResponseHelper.CreateSuccess <Match_FightinfoResponse>();

            response.Data      = new Match_Fightinfo();
            response.Data.Home = home;
            response.Data.Away = away;
            return(response);
        }
        DicNpcEntity BuildBasicData(int playerLevel, int strengthenLevel, int eqLevel)
        {
            //阵型
            int formationId = RandomHelper.GetInt32(1, 17);
            //获取阵型
            var formationList = CacheFactory.FormationCache.GetFormationDetail(formationId);

            DicNpcEntity entity = new DicNpcEntity();

            entity.Idx  = ShareUtil.GenerateComb();
            entity.Type = 2;

            entity.Name               = GetName();
            entity.Logo               = 1;
            entity.FormationId        = formationId;
            entity.FormationLevel     = playerLevel;
            entity.TeammemberLevel    = playerLevel;
            entity.PlayerCardStrength = strengthenLevel;
            entity.CoachId            = 0;
            entity.DoTalent           = GetDoTalent();         //主动天赋
            entity.ManagerSkill       = GetNodoManagerSkill(); //被动天赋和意志
            int comb = 0;

            entity.DoWill    = GetDoWill(ref comb);//主动意志
            entity.CombLevel = playerLevel;
            entity.Buff      = 100 + playerLevel;

            entity.TP1 = GetPlayer(1, formationList.Values.ToList());
            entity.TP2 = GetPlayer(2, formationList.Values.ToList());
            entity.TP3 = GetPlayer(3, formationList.Values.ToList());
            entity.TP4 = GetPlayer(4, formationList.Values.ToList());
            entity.TP5 = GetPlayer(5, formationList.Values.ToList());
            entity.TP6 = GetPlayer(6, formationList.Values.ToList());
            entity.TP7 = GetPlayer(7, formationList.Values.ToList());

            entity.TE1 = GetEquipment(eqLevel);
            entity.TE2 = GetEquipment(eqLevel);
            entity.TE3 = GetEquipment(eqLevel);
            entity.TE4 = GetEquipment(eqLevel);
            entity.TE5 = GetEquipment(eqLevel);
            entity.TE6 = GetEquipment(eqLevel);
            entity.TE7 = GetEquipment(eqLevel);
            entity.TS1 = "";
            entity.TS2 = "";
            entity.TS3 = "";
            entity.TS4 = "";
            entity.TS5 = "";
            entity.TS6 = "";
            entity.TS7 = "";
            return(entity);
        }
Beispiel #7
0
        /// <summary>
        /// 将IDataReader的当前记录读取到DicNpcEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public DicNpcEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new DicNpcEntity();

            obj.Idx                = (System.Guid)reader["Idx"];
            obj.Type               = (System.Int32)reader["Type"];
            obj.Name               = (System.String)reader["Name"];
            obj.Logo               = (System.Int32)reader["Logo"];
            obj.FormationId        = (System.Int32)reader["FormationId"];
            obj.FormationLevel     = (System.Int32)reader["FormationLevel"];
            obj.TeammemberLevel    = (System.Int32)reader["TeammemberLevel"];
            obj.PlayerCardStrength = (System.Int32)reader["PlayerCardStrength"];
            obj.CoachId            = (System.Int32)reader["CoachId"];
            obj.DoTalent           = (System.String)reader["DoTalent"];
            obj.DoWill             = (System.String)reader["DoWill"];
            obj.ManagerSkill       = (System.String)reader["ManagerSkill"];
            obj.CombLevel          = (System.Int32)reader["CombLevel"];
            obj.Buff               = (System.Int32)reader["Buff"];
            obj.PropertyPoint      = (System.Int32)reader["PropertyPoint"];
            obj.TP1                = (System.Int32)reader["TP1"];
            obj.TE1                = (System.Int32)reader["TE1"];
            obj.TS1                = (System.String)reader["TS1"];
            obj.TP2                = (System.Int32)reader["TP2"];
            obj.TE2                = (System.Int32)reader["TE2"];
            obj.TS2                = (System.String)reader["TS2"];
            obj.TP3                = (System.Int32)reader["TP3"];
            obj.TE3                = (System.Int32)reader["TE3"];
            obj.TS3                = (System.String)reader["TS3"];
            obj.TP4                = (System.Int32)reader["TP4"];
            obj.TE4                = (System.Int32)reader["TE4"];
            obj.TS4                = (System.String)reader["TS4"];
            obj.TP5                = (System.Int32)reader["TP5"];
            obj.TE5                = (System.Int32)reader["TE5"];
            obj.TS5                = (System.String)reader["TS5"];
            obj.TP6                = (System.Int32)reader["TP6"];
            obj.TE6                = (System.Int32)reader["TE6"];
            obj.TS6                = (System.String)reader["TS6"];
            obj.TP7                = (System.Int32)reader["TP7"];
            obj.TE7                = (System.Int32)reader["TE7"];
            obj.TS7                = (System.String)reader["TS7"];

            return(obj);
        }
Beispiel #8
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>DicNpcEntity</returns>
        /// <remarks>2016/1/18 14:25:07</remarks>
        public DicNpcEntity GetById(System.Guid idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

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

            database.AddInParameter(commandWrapper, "@Idx", DbType.Guid, idx);


            DicNpcEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Beispiel #9
0
        public static DTOBuffMemberView GetMemberView(DicNpcEntity npcEntity)
        {
            if (npcEntity.Type == 1 || npcEntity.Type == 2 || npcEntity.Type == 3 || npcEntity.Type == 4 || npcEntity.Type == 5 || npcEntity.Type == 6)//球星启示录计算真实kpi
            {
                npcEntity.KpiBuff = npcEntity.Buff;
                npcEntity.Buff    = 100;// npcEntity.Buff;
            }
            else
            {
                npcEntity.KpiBuff = 100;
            }
            var data = new DTOBuffMemberView();
            //TODO: CombLevel

            var managerSBMList = new List <string>();
            //套装字典 套装id->数量
            var suitDic = new Dictionary <int, List <int> >();
            //套装id->套装类型
            var suitTypeDic      = new Dictionary <int, int>();
            var formationDetails = CacheFactory.FormationCache.GetFormationDetail(npcEntity.FormationId);
            int i = 0;

            var buffPlayers = new Dictionary <Guid, DTOBuffPlayer>(PLAERCOUNT);

            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP1, npcEntity.TE1, npcEntity.TS1, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP2, npcEntity.TE2, npcEntity.TS2, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP3, npcEntity.TE3, npcEntity.TS3, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP4, npcEntity.TE4, npcEntity.TS4, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP5, npcEntity.TE5, npcEntity.TS5, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP6, npcEntity.TE6, npcEntity.TS6, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            buffPlayers.Add(Guid.NewGuid(), BuildPlayer(npcEntity, npcEntity.TP7, npcEntity.TE7, npcEntity.TS7, formationDetails[i++].Position, npcEntity.KpiBuff, ref suitDic, ref suitTypeDic));
            //套装
            TeammemberDataHelper.FillSuitData(suitDic, suitTypeDic, ref managerSBMList);
            //阵型加成
            TeammemberDataHelper.FillFormationData(npcEntity.FormationId, npcEntity.FormationLevel, ref managerSBMList);
            //TODO:球员组合
            BuffDataCore.Instance().FillBuffView(data, buffPlayers, true, 1, npcEntity.FormationId);
            data.BuffPlayers = buffPlayers;
            return(data);
        }
Beispiel #10
0
 static DTOBuffPlayer BuildPlayer(DicNpcEntity npcEntity, int tp, int te, string ts, int position, int buffScale, ref Dictionary <int, List <int> > suitDic,
                                  ref Dictionary <int, int> suitTypeDic)
 {
     return(BuildPlayer(npcEntity.TeammemberLevel, npcEntity.PropertyPoint, npcEntity.PlayerCardStrength, tp, te, ts,
                        position, buffScale, ref suitDic, ref suitTypeDic));
 }
Beispiel #11
0
        //public Match_FightinfoResponse GetCrowdFightInfo(Guid matchId, Guid managerId)
        //{
        //    var match = MemcachedFactory.CrowdMatchClient.Get<CrowdMatchEntity>(matchId);
        //    if (match == null)
        //        return ResponseHelper.InvalidParameter<Match_FightinfoResponse>();
        //    if (managerId == match.HomeId)
        //    {
        //        return GetFightInfo(managerId, match.AwayId);
        //    }
        //    else if (managerId == match.AwayId)
        //    {
        //        return GetFightInfo(managerId, match.HomeId);
        //    }
        //    else
        //    {
        //        return ResponseHelper.InvalidParameter<Match_FightinfoResponse>();
        //    }
        //}

        /// <summary>
        /// 获取竞技场对阵
        /// </summary>
        /// <param name="matchId"></param>
        /// <returns></returns>
        public Match_FightinfoResponse GetArenaFightInfo(Guid matchId)
        {
            var matchData = MemcachedFactory.ArenaMatchClient.Get <BaseMatchData>(matchId);

            if (matchData == null)
            {
                return(ResponseHelper.Create <Match_FightinfoResponse>(MessageCode.NbParameterError));
            }
            DicNpcEntity         homeNpc   = null;
            DicNpcEntity         awayNpc   = null;
            ArenaTeammemberFrame homeFrame = null;
            ArenaTeammemberFrame awayFrame = null;

            if (matchData.Home.IsNpc)
            {
                homeNpc = CacheFactory.NpcdicCache.GetNpc(matchData.Home.ManagerId);
            }
            else
            {
                homeFrame = new ArenaTeammemberFrame(matchData.Home.ManagerId, (EnumArenaType)matchData.Home.ArenaType, matchData.Home.ZoneName);
            }
            if (matchData.Away.IsNpc)
            {
                awayNpc = CacheFactory.NpcdicCache.GetNpc(matchData.Away.ManagerId);
            }
            else
            {
                awayFrame = new ArenaTeammemberFrame(matchData.Away.ManagerId, (EnumArenaType)matchData.Away.ArenaType, matchData.Away.ZoneName);
            }

            DTOBuffMemberView homeView, awayView;

            ArenaBuffDataCore.Instance().GetMembers(out homeView, out awayView, matchData.Home.ZoneName, matchData.Home.ManagerId,
                                                    matchData.Home.IsNpc, matchData.Away.ZoneName, matchData.Away.ManagerId, homeFrame, awayFrame,
                                                    matchData.Away.IsNpc, true, false);

            Match_FightManagerinfo home, away;

            if (matchData.Home.IsNpc)
            {
                home = MatchDataHelper.GetFightinfo(homeNpc, homeView);
            }
            else
            {
                home = MatchDataHelper.GetFightinfoArena(homeFrame, false, homeView, matchData.Home.ZoneName);
            }
            if (matchData.Away.IsNpc)
            {
                away = MatchDataHelper.GetFightinfo(awayNpc, awayView);
            }
            else
            {
                away = MatchDataHelper.GetFightinfoArena(awayFrame, false, awayView, matchData.Away.ZoneName);
            }
            if (home == null || away == null)
            {
                return(ResponseHelper.Create <Match_FightinfoResponse>(MessageCode.NbParameterError));
            }
            var response = ResponseHelper.CreateSuccess <Match_FightinfoResponse>();

            response.Data      = new Match_Fightinfo();
            response.Data.Home = home;
            response.Data.Away = away;
            return(response);
        }
Beispiel #12
0
        public static bool Update(DicNpcEntity dicNpcEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new DicNpcProvider(zoneId);

            return(provider.Update(dicNpcEntity, trans));
        }
Beispiel #13
0
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2016/1/18 14:25:07</remarks>
 public bool Update(DicNpcEntity entity)
 {
     return(Update(entity, null));
 }
Beispiel #14
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2016/1/18 14:25:07</remarks>
 public bool Insert(DicNpcEntity entity)
 {
     return(Insert(entity, null));
 }