public void Set(int score, int combo, float seido, RankModel.Rank rank) { this.Score = score; this.Combo = combo; this.Seido = seido; this.Rank = RankModel.GetRankName(rank); }
public static string SetPlayerRank(string str) { string[] strArray = str.Substring(str.IndexOf(" ") + 1).Split(' '); long int64 = Convert.ToInt64(strArray[0]); int int32 = Convert.ToInt32(strArray[1]); if (int32 > 60 || int32 == 56 || (int32 < 0 || int64 <= 0L)) { return(Translation.GetLabel("ChangePlyRankWrongValue")); } Account account = AccountManager.getAccount(int64, 0); if (account == null) { return(Translation.GetLabel("ChangePlyRankFailPlayer")); } if (!ComDiv.updateDB("accounts", "rank", (object)int32, "player_id", (object)account.player_id)) { return(Translation.GetLabel("ChangePlyRankFailUnk")); } RankModel rank = RankXML.getRank(int32); account._rank = int32; SEND_ITEM_INFO.LoadGoldCash(account); account.SendPacket((SendPacket) new BASE_RANK_UP_PAK(account._rank, rank != null ? rank._onNextLevel : 0), false); if (account._room != null) { account._room.updateSlotsInfo(); } return(Translation.GetLabel("ChangePlyRankSuccess", (object)int32)); }
public bool DoesMeetRankRequirement(UserDataModel userData) { if (userData.IsCurrencyRankExempt) { return(true); } CurrencyModel currency = this.GetCurrency(); if (currency == null) { return(false); } RankModel rank = this.RequiredRank; if (rank == null) { return(false); } if (!currency.HasAmount(userData, rank.Amount)) { return(false); } if (this.MustEqual && currency.GetRank(userData) != rank) { return(false); } return(true); }
// Use this for initialization void Awake() { //Instance=this; RankModel = JsonUtility.FromJson <RankModel>(PlayerPrefs.GetString(Key, JsonUtility.ToJson(new RankModel()))); //获取排行榜数据 print("排行榜长度" + RankModel.Ranks.Count); //DontDestroyOnLoad(this); }
private void DeleteRankButton_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; RankModel rank = (RankModel)button.DataContext; this.viewModel.Ranks.Remove(rank); }
public ActionResult <string> SetRank(RankModel data) { bool isUpdate = false; lock (DataBase.LockDataBase()) { isUpdate = DataBase.Query().Exists(s => s.Id == data.Id); } if (isUpdate) { Rank myData = DataBase.Select(s => s.Id == data.Id).First(); if (myData.Score < data.Score) { DataBase.Update(new Rank() { Id = data.Id, Name = data.Name, Score = data.Score }); } } else { DataBase.Insert(new Rank() { Id = data.Id, Name = data.Name, Score = data.Score }); } return(Ok()); }
public bool DoesMeetCurrencyRequirement(UserDataModel userData) { if (userData.IsCurrencyRankExempt) { return(true); } CurrencyModel currency = this.GetCurrency(); if (currency == null) { return(false); } if (currency.IsRank && !string.IsNullOrEmpty(this.RankName)) { RankModel rank = this.RequiredRank; if (rank == CurrencyModel.NoRank) { return(false); } } return(this.DoesMeetCurrencyRequirement(currency.GetAmount(userData))); }
public static string SetPlayerRank(string str) { string text = str.Substring(str.IndexOf(" ") + 1); string[] split = text.Split(' '); long player_id = Convert.ToInt64(split[0]); int rank = Convert.ToInt32(split[1]); if (rank > 60 || rank == 56 || rank < 0 || player_id <= 0) { return(Translation.GetLabel("ChangePlyRankWrongValue")); } else { Account pE = AccountManager.getAccount(player_id, 0); if (pE != null) { if (ComDiv.updateDB("contas", "rank", rank, "player_id", pE.player_id)) { RankModel model = RankXML.getRank(rank); pE._rank = rank; SEND_ITEM_INFO.LoadGoldCash(pE); pE.SendPacket(new BASE_RANK_UP_PAK(pE._rank, model != null ? model._onNextLevel : 0), false); if (pE._room != null) { pE._room.updateSlotsInfo(); } return(Translation.GetLabel("ChangePlyRankSuccess", rank)); } return(Translation.GetLabel("ChangePlyRankFailUnk")); } return(Translation.GetLabel("ChangePlyRankFailPlayer")); } }
static bool Prefix(ref ImmediateRankUIPanel __instance, ref RelativeScoreAndImmediateRankCounter ____relativeScoreAndImmediateRankCounter, ref RankModel.Rank ____prevImmediateRank, ref float ____prevRelativeScore, ref TextMeshProUGUI ____rankText, ref TextMeshProUGUI ____relativeScoreText) { if (!CountersController.settings.Enabled) { return(true); //Dont use Score Counters decimal precision if the plugin is disabled } if (model == null) { model = CountersController.settings.scoreConfig; } RankModel.Rank rank = ____relativeScoreAndImmediateRankCounter.immediateRank; if (rank != ____prevImmediateRank) { ____rankText.text = model.Mode != ICounterMode.BaseGame ? $"\n{RankModel.GetRankName(rank)}" : RankModel.GetRankName(rank); ____prevImmediateRank = rank; } float score = ____relativeScoreAndImmediateRankCounter.relativeScore; if (Mathf.Abs(____prevRelativeScore - score) >= 0.001f) { float roundedScore = (float)Math.Round((decimal)score * 100, model.DecimalPrecision); ____relativeScoreText.text = $"{roundedScore.ToString($"F{model.DecimalPrecision}")}%"; } return(false); }
/// <summary> /// Returns the highest rank achieved for a level and a given list of difficulties. /// NOTE: this method obtains the rank by performing a calculation on the set score and assumes that no modifiers were used. /// </summary> /// <param name="level">The level to search through.</param> /// <param name="difficulties">A list of BeatmapDifficulties to search through. Use null to search through all difficulties.</param> /// <param name="characteristics">A list of characteristics to search through. Each characteristic is represented by its serialized string. /// Use null to search through all characteristics.</param> /// <param name="playerName">The name of the player on the local leaderboards (optional).</param> /// <returns>The highest RankModel.Rank enum found for the selected difficulties, or null if the level has not yet been completed.</returns> public RankModel.Rank?GetHighestRankForLevel(BeatmapDetails level, IEnumerable <BeatmapDifficulty> difficulties = null, IEnumerable <string> characteristics = null, string playerName = null) { if (difficulties == null) { difficulties = AllDifficulties; } if (characteristics == null) { characteristics = AllCharacteristicStrings; } // get any level duplicates List <string> duplicateLevelIDs = GetActualLevelIDs(level.LevelID); StringBuilder sb = new StringBuilder(); RankModel.Rank?highestRank = null; foreach (var levID in duplicateLevelIDs) { foreach (var characteristic in AllCharacteristicStrings) { var simplifiedChar = level.DifficultyBeatmapSets.FirstOrDefault(x => x.CharacteristicName == characteristic || (characteristic == "" && x.CharacteristicName == "Standard")); if (simplifiedChar == null) { continue; } foreach (var difficulty in difficulties) { var simplifiedDiff = simplifiedChar.DifficultyBeatmaps.FirstOrDefault(x => x.Difficulty == difficulty); if (simplifiedDiff == null) { continue; } sb.Clear(); sb.Append(levID); sb.Append(characteristic); sb.Append(difficulty.ToString()); string leaderboardID = sb.ToString(); var scores = _localLeaderboardsModel.GetScores(leaderboardID, LocalLeaderboardsModel.LeaderboardType.AllTime); int maxRawScore = ScoreModel.MaxRawScoreForNumberOfNotes(simplifiedDiff.NotesCount); if (scores != null) { var validEntries = scores.Where(x => x._score != 0 && (x._playerName == playerName || playerName == null)); if (validEntries.Count() > 0) { var validRanks = validEntries.Select(x => RankModel.GetRankForScore(x._score, x._score, maxRawScore, maxRawScore)); highestRank = (RankModel.Rank)Math.Max((int)(highestRank ?? RankModel.Rank.E), (int)validRanks.Max()); } } } } } return(highestRank); }
public void UpdateCurrentMaxScore() { GameStatus gameStatus = statusManager.gameStatus; int currentMaxScoreBeforeMultiplier = ScoreModel.MaxRawScoreForNumberOfNotes(gameStatus.passedNotes); gameStatus.currentMaxScore = gameplayModifiersSO.MaxModifiedScoreForMaxRawScore(currentMaxScoreBeforeMultiplier, gameplayModifiers, gameplayModifiersSO, gameEnergyCounter.energy); RankModel.Rank rank = RankModel.GetRankForScore(gameStatus.rawScore, gameStatus.score, currentMaxScoreBeforeMultiplier, gameStatus.currentMaxScore); gameStatus.rank = RankModel.GetRankName(rank); }
private void OnScoreDidChange(int scoreBeforeMultiplier) { Data.score = ScoreController.GetScoreForGameplayModifiersScoreMultiplier(scoreBeforeMultiplier, Data.modifierMultiplier); int currentMaxScoreBeforeMultiplier = ScoreController.MaxScoreForNumberOfNotes(Data.passedNotes); Data.currentMaxScore = ScoreController.GetScoreForGameplayModifiersScoreMultiplier(currentMaxScoreBeforeMultiplier, Data.modifierMultiplier); RankModel.Rank rank = RankModel.GetRankForScore(scoreBeforeMultiplier, Data.score, currentMaxScoreBeforeMultiplier, Data.currentMaxScore); Data.rank = RankModel.GetRankName(rank); Data.StatusChange(ChangedProperties.Performance, "scoreChanged"); }
static bool Prefix(ref ImmediateRankUIPanel __instance, ref RelativeScoreAndImmediateRankCounter ____relativeScoreAndImmediateRankCounter, ref RankModel.Rank ____prevImmediateRank, ref float ____prevRelativeScore, ref TextMeshProUGUI ____rankText, ref TextMeshProUGUI ____relativeScoreText) { if (!CountersController.settings.Enabled) { return(true); //Dont use Score Counters decimal precision if the plugin is disabled } if (model == null) { model = CountersController.settings.scoreConfig; } RankModel.Rank rank = ____relativeScoreAndImmediateRankCounter.immediateRank; if (rank != ____prevImmediateRank) { ____rankText.text = model.Mode != ICounterMode.BaseGame ? $"\n{RankModel.GetRankName(rank)}" : RankModel.GetRankName(rank); ____prevImmediateRank = rank; //I am moving this code down here so that it only runs if the rank changes instead of every time the game refreshes the UI. //Because of how cosmic brain Beat Games is, this code should run on game startup, because SSS != SS, so should work fine. if (model.CustomRankColors) { string color = "#FFFFFF"; //Blank white shall be used for the default color in case like some SSS shit happens switch (RankModel.GetRankName(rank)) //Using PogU switch case instead of Pepega If chain { case "SS": color = model.SSColor; break; //Even compressing this shit down to one liners, look at me! case "S": color = model.SColor; break; case "A": color = model.AColor; break; case "B": color = model.BColor; break; case "C": color = model.CColor; break; case "D": color = model.DColor; break; case "E": color = model.EColor; break; } ColorUtility.TryParseHtmlString(color, out Color RankColor); //converts config hex color to unity RGBA value ____rankText.color = RankColor; //sets color of ranktext } } float score = ____relativeScoreAndImmediateRankCounter.relativeScore; if (Mathf.Abs(____prevRelativeScore - score) >= 0.001f) { float roundedScore = (float)Math.Round((decimal)score * 100, model.DecimalPrecision); ____relativeScoreText.text = $"{roundedScore.ToString($"F{model.DecimalPrecision}")}%"; } return(false); }
public void SetSongInfo(IDifficultyBeatmap songInfo, LevelCompletionResults results) { if (lastSong != songInfo) { lastSong = songInfo; _songNameText.text = $"{songInfo.level.songName} <size=80%>{songInfo.level.songSubName}</size>"; _scoreText.text = ScoreFormatter.Format(results.score); _difficultyText.text = songInfo.difficulty.Name(); _rankText.text = RankModel.GetRankName(results.rank); _goodCutsText.text = $"{results.goodCutsCount}<size=50%> / {songInfo.beatmapData.notesCount}"; _fullComboText.gameObject.SetActive(results.fullCombo); } }
public override async Task <bool> Validate(UserViewModel user) { CurrencyModel rankSystem = this.RankSystem; if (rankSystem == null) { return(false); } RankModel rank = this.RequiredRank; if (rank == null) { return(false); } if (!user.Data.IsCurrencyRankExempt) { if (this.MatchType == RankRequirementMatchTypeEnum.GreaterThanOrEqualTo) { if (!rankSystem.HasAmount(user.Data, rank.Amount)) { await this.SendChatMessage(string.Format("You do not have the required rank of {0} ({1} {2}) to do this", rank.Name, rank.Amount, rankSystem.Name)); return(false); } } else if (this.MatchType == RankRequirementMatchTypeEnum.EqualTo) { if (rankSystem.GetRank(user.Data) != rank) { await this.SendChatMessage(string.Format("You do not have the required rank of {0} to do this", rank.Name, rank.Amount, rankSystem.Name)); return(false); } } else if (this.MatchType == RankRequirementMatchTypeEnum.LessThanOrEqualTo) { RankModel nextRank = rankSystem.GetNextRank(user.Data); if (nextRank != CurrencyModel.NoRank && rankSystem.HasAmount(user.Data, nextRank.Amount)) { await this.SendChatMessage(string.Format("You are over the required rank of {0} ({1} {2}) to do this", rank.Name, rank.Amount, rankSystem.Name)); return(false); } } } return(true); }
/// <summary> /// 定时器委托任务 调用的方法 /// </summary> /// <param name="source"></param> /// <param name="e"></param> public static void SetContent(object source, ElapsedEventArgs e) { ILog log = LogManager.GetLogger("TaskAction"); Cache ca = HttpRuntime.Cache; try { List <RankModel> rankAll = new List <RankModel>(); var onlineUseralle = ServiceStackManage.Redis.GetDatabase().HashGetAll("UserInfo", CommandFlags.None); //如果可以访问,就加入到缓存 for (int i = 0; i < onlineUseralle.Count(); i++) { RankModel model = new RankModel(); model.Name = onlineUseralle[i].Name; model.Value = onlineUseralle[i].Value; string[] s = model.Value.Split('_'); model.VipGrade = Convert.ToInt32(s[4]); rankAll.Add(model); } if (onlineUseralle != null) { if (onlineUseralle.Length != 0) { ca.Insert("onlineList", rankAll); //这里给数据加缓存 string json = JsonConvert.SerializeObject(rankAll.Skip(0).Take(200)); OnLineInfoBLL.InsertNewJson(new GL.Data.Model.OnLineInfo { CreateTime = DateTime.Now, OnLineInfoJson = json }); } } } catch (Exception ex) {//如果连不上redis log.Error("TaskAction(定时读取在线人数到缓存):" + ex.Message + "\n"); List <RankModel> rankAll = ca["onlineList"] as List <RankModel>; if (rankAll == null) { string rJson = OnLineInfoBLL.GetNewJson(); rankAll = (List <RankModel>)JsonConvert.DeserializeObject <List <RankModel> >(rJson); } if (rankAll.Count == 0) { string rJson = OnLineInfoBLL.GetNewJson(); rankAll = (List <RankModel>)JsonConvert.DeserializeObject <List <RankModel> >(rJson); } ca.Insert("onlineList", rankAll); //这里给数据加缓存 } }
private void UpdateText() { RankModel.Rank immediateRank = relativeScoreAndImmediateRank.immediateRank; if (immediateRank != prevImmediateRank) { rankText.text = RankModel.GetRankName(immediateRank); prevImmediateRank = immediateRank; rankText.color = Settings.CustomRankColors ? Settings.GetRankColorFromRank(immediateRank) : Color.white; } float relativeScore = relativeScoreAndImmediateRank.relativeScore * 100; relativeScoreText.text = $"{relativeScore.ToString($"F{Settings.DecimalPrecision}")}%"; }
public void OnScoreDidChange(int scoreBeforeMultiplier, int scoreAfterMultiplier) { GameStatus gameStatus = statusManager.gameStatus; gameStatus.score = scoreAfterMultiplier; int currentMaxScoreBeforeMultiplier = ScoreController.MaxRawScoreForNumberOfNotes(gameStatus.passedNotes); gameStatus.currentMaxScore = ScoreController.MaxModifiedScoreForMaxRawScore(currentMaxScoreBeforeMultiplier, gameplayModifiers, gameplayModifiersSO); RankModel.Rank rank = RankModel.GetRankForScore(scoreBeforeMultiplier, gameStatus.score, currentMaxScoreBeforeMultiplier, gameStatus.currentMaxScore); gameStatus.rank = RankModel.GetRankName(rank); statusManager.EmitStatusUpdate(ChangedProperties.Performance, "scoreChanged"); }
public void EndOfSong(LevelCompletionResults results, SongData data) { won = results.levelEndStateType == LevelCompletionResults.LevelEndStateType.Cleared; endTime = results.endSongTime; rank = RankModel.GetRankName(results.rank); if (!SettingsMenu.instance.HideNbOfPauses) { nbOfPause = data.GetDataCollector().nbOfPause; } else { nbOfPause = 999; } }
public static RankModel getRank(int rankId) { lock (_ranks) { for (int i = 0; i < _ranks.Count; i++) { RankModel rank = _ranks[i]; if (rank._id == rankId) { return(rank); } } return(null); } }
private void DrawMultiRanking(Graphics g, DataModel Data, Pen linePen, Brush lineBrush, Brush TextBrush, Brush DataBrush, System.Drawing.Font font_Text, System.Drawing.Font font_Data) { if (Data is RankModel) { RankModel rankmodel = Data as RankModel; EStartX = rankmodel.Area.left + 10; EStartY = rankmodel.Area.top; //宽高 EViewWidth = (this.Width - 20); EViewHeight = rankmodel.Area.bottom - rankmodel.Area.top; int rankWidth = EViewWidth / 8; //绘制其它色的个数 if (IsDrawColorfulRectAngle) { lineBrush.Dispose(); lineBrush = new SolidBrush(rankmodel.ModelColor); } //绘制排名 Rectangle rect = new Rectangle(EStartX, EStartY, rankWidth, EViewHeight); GraphicsPath path = ReportViewUtils.CreateRoundedRectanglePath(rect, EViewHeight / 4); g.FillPath(lineBrush, path); ReportViewUtils.drawString(g, rankmodel.Index + "", font_Text, TextBrush, EStartX, EStartY, rankWidth, EViewHeight); path.Dispose(); //绘制名称 int startText = EStartX + rankWidth + 20; int rankTextWidth = EViewWidth / 3; string text = rankmodel.mainText; text = ReportViewUtils.LimiteText(g, font_Text, text, rankTextWidth); ReportViewUtils.drawString(g, text, font_Text, TextBrush, startText, EStartY, rankTextWidth, EViewHeight); //绘制数据 startText += rankTextWidth; text = rankmodel.mainData + ""; text = ReportViewUtils.LimiteText(g, font_Text, text, rankTextWidth); ReportViewUtils.drawString(g, text, font_Text, TextBrush, startText, EStartY, rankTextWidth, EViewHeight); ///建议把绘制的直接写在这里 if (rankmodel.Area.IsMouseIn) { Color color = rankmodel.ModelColor; Brush myBrush = new SolidBrush(Color.FromArgb(BackGroundAlpha, color.R, color.G, color.B)); g.FillRectangle(myBrush, new Rectangle(rankmodel.Area.left, rankmodel.Area.top - padding / 2, this.Width, rankmodel.Area.bottom - rankmodel.Area.top + padding)); myBrush.Dispose(); } } }
public void OnScoreDidChange(int scoreBeforeMultiplier) { try { gameStatus.score = ScoreController.GetScoreForGameplayModifiersScoreMultiplier(scoreBeforeMultiplier, gameStatus.modifierMultiplier); int currentMaxScoreBeforeMultiplier = ScoreController.MaxScoreForNumberOfNotes(gameStatus.passedNotes); gameStatus.currentMaxScore = ScoreController.GetScoreForGameplayModifiersScoreMultiplier(currentMaxScoreBeforeMultiplier, gameStatus.modifierMultiplier); RankModel.Rank rank = RankModel.GetRankForScore(scoreBeforeMultiplier, gameStatus.score, currentMaxScoreBeforeMultiplier, gameStatus.currentMaxScore); gameStatus.rank = RankModel.GetRankName(rank); }catch (Exception ex) { Plugin.Log("EXception in score change: " + ex); } }
public void SetSongInfo(IDifficultyBeatmap songInfo, LevelCompletionResults results) { if (lastSong != songInfo) { Misc.Logger.Info("Updating song info on results screen!"); lastSong = songInfo; _songNameText.text = $"{songInfo.level.songName} <size=80%>{songInfo.level.songSubName}</size>"; _scoreText.text = ScoreFormatter.Format(results.score); _difficultyText.text = songInfo.difficulty.Name(); _rankText.text = RankModel.GetRankName(results.rank); _goodCutsText.text = $"{results.goodCutsCount}<size=50%> / {songInfo.beatmapData.notesCount}"; _fullComboText.gameObject.SetActive(results.fullCombo); if (IllusionInjector.PluginManager.Plugins.Any(x => x.Name == "BeatSaver Downloader")) { _firstVote = true; _favButton.onClick.RemoveAllListeners(); _favButton.onClick.AddListener(() => ToggleFavorite(songInfo.level.levelID)); BeatSaverDownloaderHelper.LoadDownloaderConfig(); _favButton.interactable = true; _favButton.SetButtonIcon(BeatSaverDownloaderHelper.favoriteSongs.Any(x => x == songInfo.level.levelID) ? Sprites.removeFromFavorites : Sprites.addToFavorites); VoteType vote = BeatSaverDownloaderHelper.GetVoteForSong(songInfo.level.levelID); _upvoteButton.interactable = false; _downvoteButton.interactable = false; _ratingText.text = "LOADING..."; SongDownloader.Instance.RequestSongByLevelID(songInfo.level.levelID.Substring(0, 32), (song) => { _ratingText.text = (int.Parse(song.upvotes) - int.Parse(song.downvotes)).ToString(); _upvoteButton.interactable = (vote != VoteType.Upvote && BeatSaverDownloaderHelper.apiAccessToken != BeatSaverDownloaderHelper.apiTokenPlaceholder); _downvoteButton.interactable = (vote != VoteType.Downvote && BeatSaverDownloaderHelper.apiAccessToken != BeatSaverDownloaderHelper.apiTokenPlaceholder); _upvoteButton.onClick.RemoveAllListeners(); _downvoteButton.onClick.RemoveAllListeners(); _upvoteButton.onClick.AddListener(() => StartCoroutine(VoteForSong(song.id, songInfo.level.levelID, true))); _downvoteButton.onClick.AddListener(() => StartCoroutine(VoteForSong(song.id, songInfo.level.levelID, false))); }); } } }
public override Task <Result> Validate(CommandParametersModel parameters) { CurrencyModel rankSystem = this.RankSystem; if (rankSystem == null) { return(Task.FromResult(new Result(MixItUp.Base.Resources.RankSystemDoesNotExist))); } RankModel rank = this.RequiredRank; if (rank == null) { return(Task.FromResult(new Result(MixItUp.Base.Resources.RankDoesNotExist))); } if (!parameters.User.Data.IsCurrencyRankExempt) { RankModel currentRank = rankSystem.GetRank(parameters.User.Data); if (this.MatchType == RankRequirementMatchTypeEnum.GreaterThanOrEqualTo) { if (!rankSystem.HasAmount(parameters.User.Data, rank.Amount)) { return(Task.FromResult(new Result(string.Format(MixItUp.Base.Resources.RankRequirementNotGreaterThanOrEqual, rank.Name, rank.Amount, rankSystem.Name) + " " + string.Format(MixItUp.Base.Resources.RequirementCurrentAmount, currentRank)))); } } else if (this.MatchType == RankRequirementMatchTypeEnum.EqualTo) { if (rankSystem.GetRank(parameters.User.Data) != rank) { return(Task.FromResult(new Result(string.Format(MixItUp.Base.Resources.RankRequirementNotGreaterThanOrEqual, rank.Name, rank.Amount, rankSystem.Name) + " " + string.Format(MixItUp.Base.Resources.RequirementCurrentAmount, currentRank)))); } } else if (this.MatchType == RankRequirementMatchTypeEnum.LessThanOrEqualTo) { RankModel nextRank = rankSystem.GetNextRank(parameters.User.Data); if (nextRank != CurrencyModel.NoRank && rankSystem.HasAmount(parameters.User.Data, nextRank.Amount)) { return(Task.FromResult(new Result(string.Format(MixItUp.Base.Resources.RankRequirementNotLessThan, rank.Name, rank.Amount, rankSystem.Name) + " " + string.Format(MixItUp.Base.Resources.RequirementCurrentAmount, currentRank)))); } } } return(Task.FromResult(new Result())); }
/// <summary> /// 从远程更新本地的数据库 /// </summary> void SyncRankDataFromRemote() { RankDAL.Clear(); for (int i = 0; i < rkModel.allPages; i++) { rkModel = getMyRank.GetRankInfo((i + 1).ToString(), "50"); Dispatcher.BeginInvoke(new Action(delegate { pgbSync.Value = (i + 1) * 100 / rkModel.allPages; })); } Dispatcher.BeginInvoke(new Action(delegate { pgbSync.Value = 0; lstRankAll = GetFundEquityInfo.Instance.GetAllRankList(); DetailGrid.ItemsSource = lstRankAll; })); }
private void UpdateClassicModeText() { RankModel.Rank immediateRank = relativeScoreAndImmediateRank.immediateRank; float relativeScore = (relativeScoreAndImmediateRank.relativeScore) * 100.0f; if (Math.Floor(relativeScore) != Math.Floor(prevRelativeScore)) { Color currentColor = GetColorForRelativeScore(relativeScore); } prevRelativeScore = relativeScore; if (immediateRank != prevImmediateRank) { rankText.text = RankModel.GetRankName(immediateRank); prevImmediateRank = immediateRank; } int decimalPrecision = 2; relativeScoreText.text = $"{relativeScore.ToString($"F{decimalPrecision}")}%"; }
/// <summary> /// 获取等级信息 /// </summary> /// <param name="type">等级类型</param> /// <param name="exp">等级总经验</param> /// <param name="currentRankModel">当前等级模型</param> /// <param name="nextRankModel">下一等级的模型,顶级时为空</param> public void FindRankModel(RankType type, int exp, out RankModel currentRankModel, out RankModel nextRankModel) { currentRankModel = null; nextRankModel = null; foreach (var rankModel in rankModels) { if (rankModel.type == type && rankModel.exp <= exp) { currentRankModel = rankModel; } if (currentRankModel != null && (rankModel.type == type && rankModel.exp > exp || rankModel.type != type)) { if (rankModel.type == type) { nextRankModel = rankModel; } break; } } }
public static void update() { var db = App.conn; int num = 0; allItems.Clear(); using (var statement = db.Prepare("SELECT * FROM Item ORDER BY Score DESC LIMIT 0,10;")) { SQLiteResult result = statement.Step(); while (SQLiteResult.ROW == result) { ++num; RankModel rm = new RankModel(num, (String)statement[1], Int32.Parse(statement[2].ToString()), "ms-appx:///Assets/rank_" + num + ".png"); allItems.Add(rm); // var i = new Windows.UI.Popups.MessageDialog(statement[1].ToString()).ShowAsync(); result = statement.Step(); } } }
public static Rank GetMappedRank(RankModel rankModel) { return(new Rank { Name = RankModel.RankNames[rankModel.RankId], IconUrl = RankModel.RankIcons[rankModel.RankId], MaxMmr = rankModel.MaxMmr, Mmr = rankModel.Mmr, Wins = rankModel.Wins, Losses = rankModel.Losses, Abandons = rankModel.Abandons, RankId = rankModel.RankId, SeasonId = rankModel.SeasonId, MaxRank = rankModel.MaxRank, NextRankMmr = rankModel.NextRankMmr, PreviousRankMmr = rankModel.PreviousRankMmr, Region = rankModel.Region, SkillMean = rankModel.SkillMean, SkillStDev = rankModel.SkillStDev }); }
private static void AddItemsToList(IList <RankModel> list, IList <Student> students) { foreach (var s in students) { var model = new RankModel { StudentId = s.StudentId, Name = s.Name, CourseRecords = new List <CourseRecordModel>() }; foreach (var course in s.CourseRecords) { model.CourseRecords.Add(new CourseRecordModel { CourseId = course.CourseId, Course = course.Course, Score = course.Score }); } list.Add(model); } }