/// <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); }
/// <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))); }
/// <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); }
/// <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); }
/// <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, }); }
/// <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); }
/// <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); }
/// <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); }
/// <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(); }
/// <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); }
/// <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))); }