Ejemplo n.º 1
0
        /// <summary>计算开格子的花费</summary>
        private int CostGold(tg_role_title title)
        {
            title.title_count = title.title_count + 1;
            var cost = 0;

            if (title.title_count == 2)
            {
                var gold = Variable.BASE_RULE.FirstOrDefault(m => m.id == "24001");
                if (gold == null)
                {
                    return(cost);
                }
                cost = Convert.ToInt32(gold.value);
            }
            else if (title.title_count == 3)
            {
                var money = Variable.BASE_RULE.FirstOrDefault(m => m.id == "24002");
                if (money == null)
                {
                    return(cost);
                }
                cost = Convert.ToInt32(money.value);
            }
            return(cost);
        }
Ejemplo n.º 2
0
        /// <summary>处理武将信息</summary>
        private ASObject UpdateRole(TGGSession session, tg_role role, int basetid, tg_role_title title)
        {
            var mainrole = session.Player.Role.Kind.CloneEntity();
            var btitle   = Variable.BASE_ROLETITLE.FirstOrDefault(m => m.id == basetid);

            if (btitle == null)
            {
                return(Error((int)ResultType.BASE_TABLE_ERROR));                  //验证称号基表信息
            }
            if (string.IsNullOrEmpty(btitle.attAddition))
            {
                return(Error((int)ResultType.BASE_TABLE_ERROR)); //验证属性加成信息
            }
            role = RoleUpdateTitle(role, title.id);              //更新武将身上称号信息
            role = Common.GetInstance().UpdateRole(role, (int)RoleDatatype.ROLEDATA_LOSE, btitle.attAddition);
            if (!tg_role.UpdateByRole(role))
            {
                return(Error((int)ResultType.DATABASE_ERROR));
            }

            if (mainrole.id == role.id)
            {
                session.Player.Role.Kind = role;
            }
            Common.GetInstance().RoleUpdatePush(mainrole.user_id, role.id);            //推送武将属性更新

            return(new ASObject(Common.GetInstance().BuildLoadData((int)ResultType.SUCCESS, title)));
        }
Ejemplo n.º 3
0
        /// <summary>组装数据</summary>
        public Dictionary <String, Object> BuildLoadData(int result, tg_role_title title)
        {
            var dic = new Dictionary <string, object> {
                { "result", result }, { "title", title == null ? null : EntityToVo.ToTitleVo(title) }
            };

            return(dic);
        }
Ejemplo n.º 4
0
 /// <summary>验证称号是否装备在武将身上</summary>
 private Boolean CheckTitle(tg_role_title title, Int64 rid)
 {
     if (title.packet_role1 == rid)
     {
         return(true);
     }
     if (title.packet_role2 == rid)
     {
         return(true);
     }
     return(title.packet_role3 == rid);
 }
Ejemplo n.º 5
0
 /// <summary> tg_role_title 实体转换 TitleVo </summary>
 /// <param name="model">武将称号Vo</param>
 /// <returns>前端TitleVo</returns>
 public static TitleVo ToTitleVo(tg_role_title model)
 {
     return(new TitleVo()
     {
         id = model.id,
         baseId = model.title_id,
         state = model.title_state,
         load_state = model.title_load_state,
         packetCount = model.title_count,
         packet1_role = model.packet_role1,
         packet2_role = model.packet_role2,
         packet3_role = model.packet_role3,
     });
 }
Ejemplo n.º 6
0
 /// <summary>更新称号格子信息</summary>
 private tg_role_title UpdateNewTitle(tg_role_title title, Int64 rid)
 {
     if (title.packet_role1 == 0)
     {
         title.packet_role1 = rid;
     }
     else if (title.packet_role2 == 0)
     {
         title.packet_role2 = rid;
     }
     else if (title.packet_role3 == 0)
     {
         title.packet_role3 = rid;
     }
     return(title);
 }
Ejemplo n.º 7
0
        /// <summary>创建称号信息</summary>
        private void CreateTitle(BaseRoleTitle btitle, Int64 userid)
        {
            var title = new tg_role_title()
            {
                title_id         = btitle.id,
                title_state      = (int)TitleState.HAS_BEEN_REACHED,
                title_load_state = (int)LoadStateType.UNLOAD,
                title_count      = 1,
                packet_role1     = 0,
                packet_role2     = 0,
                packet_role3     = 0,
                user_id          = userid,
            };

            tg_role_title.Insert(title);
        }
Ejemplo n.º 8
0
        /// <summary>称号装备武将数量</summary>
        public int Count(tg_role_title title)
        {
            var sum = 0;

            if (title.packet_role1 != 0)
            {
                sum += 1;
            }
            if (title.packet_role2 != 0)
            {
                sum += 1;
            }
            if (title.packet_role3 != 0)
            {
                sum += 1;
            }
            return(sum);
        }
Ejemplo n.º 9
0
 /// <summary>更新卸载掉武将的称号信息</summary>
 private void ClearRole(tg_role_title title, Int64 rid)
 {
     if (title.packet_role1 == rid)
     {
         title.packet_role1 = 0;
     }
     else if (title.packet_role2 == rid)
     {
         title.packet_role2 = 0;
     }
     else if (title.packet_role3 == rid)
     {
         title.packet_role3 = 0;
     }
     if (Common.GetInstance().Count(title) == 0)
     {
         title.title_load_state = (int)LoadStateType.UNLOAD;
     }
     title.Update();
 }
Ejemplo n.º 10
0
 /// <summary>更新卸载掉武将的称号信息</summary>
 private tg_role_title DeleteRole(tg_role_title title, Int64 rid)
 {
     if (title.packet_role1 == rid)
     {
         title.packet_role1 = 0;
     }
     else if (title.packet_role2 == rid)
     {
         title.packet_role2 = 0;
     }
     else if (title.packet_role3 == rid)
     {
         title.packet_role3 = 0;
     }
     if (Common.GetInstance().Count(title) == 0)
     {
         title.title_load_state = (int)LoadStateType.UNLOAD;
     }
     return(title);
 }
Ejemplo n.º 11
0
        /// <summary>武将信息验证</summary>
        private ASObject CheckRole(TGGSession session, tg_role role, BaseRoleTitle btitle, tg_role_title title)
        {
            var mainrole = session.Player.Role.Kind.CloneEntity();
            var otid     = CheckOldTitle(role, btitle.methods, title.id);                                             //被替换称号id

            if (otid != 0)
            {
                role = CheckRoleInfo(role, (int)RoleDatatype.ROLEDATA_LOSE, otid);
            }                                                                                      //更新武将信息

            if (string.IsNullOrEmpty(btitle.attAddition))
            {
                return(Error((int)ResultType.BASE_TABLE_ERROR));                                         //验证加成信息
            }
            Common.GetInstance().UpdateRole(role, (int)RoleDatatype.ROLEDATA_ADD, btitle.attAddition);   //加成武将属性信息

            if (!tg_role.UpdateByRole(role))
            {
                return(Error((int)ResultType.DATABASE_ERROR));
            }
            if (mainrole.id == role.id)
            {
                session.Player.Role.Kind = role;                                       //装备武将为主角武将
            }
            Common.GetInstance().RoleUpdatePush(mainrole.user_id, role.id);            //推送武将信息
            if (!tg_role_title.UpdateByTitle(title))
            {
                return(Error((int)ResultType.DATABASE_ERROR));
            }

            return(new ASObject(Common.GetInstance().BuildLoadData((int)ResultType.SUCCESS, title)));
        }