private void HireFollowerMessageImpl(NetIncomingMessage im, MessageBase msg) { var hireMsg = msg as HireFollowerMessage; var r = new HireResultMessage(); if (AdventurePluginDB.User.Get(hireMsg.PlayerId) != null) { r.Result = OkTag; var follower = AdventurePluginDB.PlayerFollower.GetPlayerFollower(hireMsg.PlayerId); var ObjectIdList = new List <int>(); foreach (var id in hireMsg.FollowerId) { var objId = ObjectId; r.Followers.Add(new KeyValuePair <int, int>(objId, id)); ObjectIdList.Add(objId); var info = new FollowerInfo() { FollowerID = id, ObjectID = objId, }; AdventurePluginDB.Follower.Create(info); } follower.FollowerList.AddRange(ObjectIdList); AdventurePluginDB.PlayerFollower.Update(follower); } else { r.Result = ErrorTag; } SharedServer.SendMessage(r, im.SenderConnection); }
private void btnSendFollowerRequest_Click(object sender, RoutedEventArgs e) { tbJsonResponse.Clear(); FollowerInfo followerInfoResponse = DiabloService.GetFollowerInfo(RequestParameters.REGIONS.EU, RequestParameters.FOLLOWERS.TEMPLAR, "en_GB", tbApiKey.Text); string output = JsonConvert.SerializeObject(followerInfoResponse, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); tbJsonResponse.Text = output; }
/// <summary> /// Returns follower information /// </summary> /// <param name="region">Player region</param> /// <param name="follower">Chosen follower</param> /// <param name="locale">Language code (locale)</param> /// <returns></returns> public static FollowerInfo GetFollowerInfo(RequestParameters.REGIONS region, RequestParameters.FOLLOWERS follower, string locale, string apiKeyValue) { using (HttpWebResponse response = RequestHandler.CreateFollowerRequest(region, Enum.GetName(typeof(RequestParameters.FOLLOWERS), follower).ToLower(), locale, apiKeyValue)) { if (response.StatusCode != HttpStatusCode.OK) { throw new Exception(String.Format("Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription)); } DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(FollowerInfo)); object objResponse = jsonSerializer.ReadObject(response.GetResponseStream()); FollowerInfo jsonResponse = objResponse as FollowerInfo; return(jsonResponse); } }
private void RegisterMessageImpl(NetIncomingMessage im, MessageBase msg) { var registerMsg = msg as RegisterMessage; var r = new RegisterResultMessage(); if (AdventurePluginDB.User.Get(registerMsg.Name, registerMsg.Pass) == null) { var user = new UserInfo { Name = registerMsg.Name, Pass = registerMsg.Pass, }; var id = AdventurePluginDB.User.Create(user); const int FreeId = 2; // 赠送路人乙 var objid = ObjectId; var info = new FollowerInfo() { FollowerID = FreeId, ObjectID = objid, }; AdventurePluginDB.Follower.Create(info); AdventurePluginDB.Customer.Create(new CustomerInfo() { PlayerId = id, }); AdventurePluginDB.PlayerFollower.Create(new PlayerFollowerInfo() { PlayerId = id, FollowerList = { objid } }); r.PlayerId = id; r.Result = OkTag; } else { r.Result = ErrorTag; } SharedServer.SendMessage(r, im.SenderConnection); }
public bool Update(FollowerInfo obj) { return(col.Update(obj.id, obj)); }
public int Create(FollowerInfo user) { var r = col.Insert(user); return(r.AsInt32); }
// 列表排序 public static long SortEquipments(ListViewSort.SortKind kind, FollowerInfo followerInfo, int followerIndex, long sortValue2) { var leaderinfo = followerInfo.getServantLeaderInfo(followerIndex); long score = (leaderinfo != null) ? (leaderinfo.lv << 4 | leaderinfo.limitCount) : 0; int esvtid = followerInfo.getEquipSvtId(followerIndex); if (esvtid > 0) { bool totsu = followerInfo.getEquipLimitCount(followerIndex) == 4; if (ListViewSort.SortKind.COST == kind) { SkillDetailEntity sdent = SingletonMonoBehaviour <DataManager> .Instance.getMasterData(DataNameKind.Kind.SKILL_DETAIL).getEntityFromId <SkillDetailEntity>(followerInfo.getEquipSkillId(followerIndex)); if (sdent != null && sdent.detail.Contains("活动期间限定")) { ServantLimitEntity slent = SingletonMonoBehaviour <DataManager> .Instance.getMasterData(DataNameKind.Kind.SERVANT_LIMIT).getEntityFromId <ServantLimitEntity>(esvtid, followerInfo.getEquipLimitCount(followerIndex)); long rare = slent.rarity; // 最大8(4bit)为止 if (customSortValue > 0 && customSortValue == esvtid) { rare = 8; } if (customSortValue != 1) { // 稀有优先 score |= rare << 13 | Convert.ToInt64(totsu) << 12; } else { // 突破优先 score |= rare << 12 | Convert.ToInt64(totsu) << 16; } } sortValue2 = score; } else if (kind == ListViewSort.SortKind.CLASS) { score |= Convert.ToInt64(totsu) << 12; ServantEntity sent = SingletonMonoBehaviour <DataManager> .Instance.getMasterData(DataNameKind.Kind.SERVANT).getEntityFromId <ServantEntity>(esvtid); if (sent.name.Contains("英灵肖像")) // 絆礼装 { score |= 6 << 13; } if (sent.id == 9400360) // 旅途的开始 { score |= 5 << 13; } if (sent.id == 9401710 && totsu) // 个人练习 礼装EXP10% { score |= 4 << 13; } if (sent.id == 9400780 && totsu) // 蒙娜丽莎 QP10% { score |= 3 << 13; } if (sent.id == 9401340 && totsu) // パーソナル・トレーニング凸 マスターEXP10% { score |= 2 << 13; } else if (sent.id == 9400340) // カレイドスコープ { score |= 1 << 13; } sortValue2 = score; } } return(sortValue2); }