Exemplo n.º 1
0
        /// <summary>
        /// 合战战报生成
        /// </summary>
        /// <param name="userid">进攻玩家id</param>
        /// <param name="baseid">基表id(聊天信息表)</param>
        /// <param name="cityiid">据点基表id</param>
        /// <param name="defenseuserid">防守玩家用户id</param>
        private void WarReportInsert(Int64 userid, int baseid, int cityiid, Int64 defenseuserid, string attackname)
        {
            var attackreport = new tg_war_fight_report()
            {
                user_id     = userid,
                report_time = DateTime.Now,
                base_id     = baseid,
                city_id     = cityiid,
            };

            attackreport.Insert();
            ReportSend(attackreport, true);

            var defensereport = new tg_war_fight_report()
            {
                user_id          = defenseuserid,
                report_time      = DateTime.Now,
                city_id          = cityiid,
                attack_user_name = attackname,
            };

            if (baseid == 100042)
            {
                defensereport.base_id = 100041;
            }
            if (baseid == 100043)
            {
                defensereport.base_id = 100040;
            }
            defensereport.Insert();
            ReportSend(defensereport, false);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 发送战报推送协议
 /// </summary>
 /// <param name="report"></param>
 /// <param name="isattack">是否被攻击</param>
 private void ReportSend(tg_war_fight_report report, bool isattack)
 {
     if (Variable.OnlinePlayer.ContainsKey(report.user_id))
     {
         var vo = new WarRecordInfoVo
         {
             id          = report.id,
             warRecordId = report.base_id,
             times       = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
             replaceList = isattack ? new List <string>()
             {
                 report.city_id.ToString()
             }
                     : new List <string>()
             {
                 report.city_id.ToString(), report.attack_user_name
             },
         };
         var dic = new Dictionary <string, object>()
         {
             { "report", vo }
         };
         var session = Variable.OnlinePlayer[report.user_id] as TGGSession;
         var pv      = new ProtocolVo
         {
             serialNumber     = 1,
             verificationCode = 1,
             moduleNumber     = (int)ModuleNumber.WAR,
             commandNumber    = (int)WarCommand.WAR_REPORT_PUSH,
             sendTime         = 1000,
             serverTime       = (DateTime.Now.Ticks - 621355968000000000) / 10000,
             status           = (int)ResponseType.TYPE_SUCCESS,
             data             = new ASObject(dic),
         };
         session.SendData(pv);
     }
 }