protected void TryAddNode(Member member) { if (!CurrentNodes.Contains(member.Name)) { string rankName = LeadershipRank.GetRankName(member.GetRankId()); JObject properties = new JObject(); properties.Add(new JProperty("id", member.Name)); properties.Add(new JProperty("rank", rankName)); properties.Add(new JProperty("image", Page.ResolveUrl(member.AvatarUrl))); properties.Add(new JProperty("flag", Page.ResolveUrl(@"~/Images/Flags/" + member.CountryCode.ToLower() + ".png"))); properties.Add(new JProperty("countryName", member.Country)); properties.Add(new JProperty("name", member.Name)); properties.Add(new JProperty("status", "occupied")); JObject node = new JObject( new JProperty("data", properties)); Nodes.Add(node); CurrentNodes.Add(member.Name); } }
private void AddNode(Member member) { string rankName = LeadershipRank.GetRankName(member.GetRankId()); JObject properties = new JObject(); properties.Add(new JProperty("id", member.MatrixId.ToString())); properties.Add(new JProperty("userId", member.Id)); properties.Add(new JProperty("rank", rankName)); properties.Add(new JProperty("image", Page.ResolveUrl(member.AvatarUrl))); properties.Add(new JProperty("flag", Page.ResolveUrl(@"~/Images/Flags/" + member.CountryCode.ToLower() + ".png"))); properties.Add(new JProperty("countryName", member.Country)); properties.Add(new JProperty("name", member.Name)); properties.Add(new JProperty("status", "occupied")); string sponsor = Member.GetMemberUsername(member.ReferrerId); properties.Add(new JProperty("sponsor", string.IsNullOrWhiteSpace(sponsor) ? "-" : sponsor)); properties.Add(new JProperty("leftPoints", member.MatrixBonusMoneyFromLeftLeg.ToClearString())); properties.Add(new JProperty("rightPoints", member.MatrixBonusMoneyFromRightLeg.ToClearString())); FriendshipRequest friendRequest = FriendshipRequest.Get(Member.CurrentId, member.Id); bool areFriends = Member.CurrentInCache.IsFriendsWith(member) || (friendRequest != null && friendRequest.Status != FriendshipRequestStatus.Rejected); properties.Add(new JProperty("areNotFriends", AppSettings.TitanFeatures.SocialNetworkEnabled && !areFriends)); JObject node = new JObject( new JProperty("data", properties)); Nodes.Add(node); }
/// <summary> /// ランクを統率補正に変換 /// </summary> /// <param name="rank">ランク</param> /// <returns>統率補正 (倍)</returns> private double RankToPercentage(LeadershipRank rank) { switch (rank) { case LeadershipRank.F: return(0.8); case LeadershipRank.E: return(0.85); case LeadershipRank.D: return(0.9); case LeadershipRank.C: return(0.95); case LeadershipRank.B: return(1.0); case LeadershipRank.A: return(1.05); case LeadershipRank.S: return(1.1); case LeadershipRank.SS: return(1.15); case LeadershipRank.SSS: return(1.20); default: return(0); } }
public void InitizlizeLeadershipInfo() { if (!AppSettings.TitanFeatures.LeaderShipSystemEnabled) { return; } var userRank = RanksUsers.GetCurrentUserRank(Member.CurrentId); if (userRank == null) { return; } LeadershipSystemPlaceHolder.Visible = true; var rank = new LeadershipRank(userRank.RankId); if (string.IsNullOrEmpty(rank.RankName)) { LeadershipSystemRankDetailLiteral.Text = rank.Rank.ToString(); } else { LeadershipSystemRankDetailLiteral.Text = string.Format("{0} ({1})", rank.RankName, rank.Rank); } }
public static LeadershipRank GetRank(int userId) { LeadershipRank result = null; RanksUsers ranksUsers = RanksUsers.GetCurrentUserRank(userId); if (ranksUsers != null) { result = new LeadershipRank(ranksUsers.RankId); } return(result); }
public static LeadershipRank GetMaxRank(int userId) { return(LeadershipRank.GetMaxUserRank(userId)); }
/// <summary> /// 統率力をランクに従い足し算する /// </summary> /// <param name="rank">武将が持つ統率</param> /// <param name="up">ランクアップ数</param> /// <returns>ランクアップ後統率</returns> private LeadershipRank AddRankLeadership(LeadershipRank rank, int up) { int upedRank = (int)rank + up; return((LeadershipRank)upedRank > LeadershipRank.SSS ? LeadershipRank.SSS : (LeadershipRank)upedRank); }
private void CreditAncestor(Member ancestor, Money servicePrice, decimal percentage, MatrixLeg leg) { try { if (percentage <= 0) { return; } Money bonus = Money.MultiplyPercent(servicePrice, percentage); //We are adding to left or right leg if (leg == MatrixLeg.Left) { ancestor.MatrixBonusMoneyFromLeftLeg += bonus; } else { ancestor.MatrixBonusMoneyFromRightLeg += bonus; } if (ancestor.MatrixBonusMoneyFromLeftLeg > AppSettings.Matrix.MatrixCyclesBonusMoneyFromLeg && ancestor.MatrixBonusMoneyFromRightLeg > AppSettings.Matrix.MatrixCyclesBonusMoneyFromLeg) { int cyclesPerDay = -1; if (AppSettings.Matrix.MatrixCyclesFromRank) { LeadershipRank rank = ancestor.GetRank(); cyclesPerDay = rank != null ? rank.MatrixCyclesPerDay : cyclesPerDay; } else { cyclesPerDay = AppSettings.Matrix.MatrixCyclesPerDay; } //We cycle or flush out if (ancestor.MatrixBonusMoneyCyclesToday < cyclesPerDay) { ancestor.MatrixBonusMoneyCyclesToday++; ancestor.MatrixBonusMoneyFromLeftLeg -= AppSettings.Matrix.MatrixCyclesBonusMoneyFromLeg; ancestor.MatrixBonusMoneyFromRightLeg -= AppSettings.Matrix.MatrixCyclesBonusMoneyFromLeg; if (TitanFeatures.IsTrafficThunder) { ancestor.AddToCommissionBalance(AppSettings.Matrix.MatrixCyclesPrizeMoney, "Matrix Cycle bonus"); } else { ancestor.AddToMainBalance(AppSettings.Matrix.MatrixCyclesPrizeMoney, "Matrix Cycle bonus"); } ancestor.IncreaseMetrixBonusEarnings(AppSettings.Matrix.MatrixCyclesPrizeMoney); ancestor.Save(); } else { //We flush ancestor.MatrixBonusMoneyFromLeftLeg = Money.Zero; ancestor.MatrixBonusMoneyFromRightLeg = Money.Zero; ancestor.SaveMatrixId(); } } else { ancestor.SaveMatrixId(); } } catch (Exception ex) { ErrorLogger.Log(ex); } }