private void OnClickInformation(GameServer.RankingType kind) { var infoDat = Entity.InformationData.infoList[(int)kind]; var dialog = BaseScene.AddModalWindow <Liver.DialogWindow>("DialogWindow"); dialog.SetDialog(infoDat.Title, infoDat.Title2, infoDat.Text, null, null, null); }
private void MakeRanking(GameServer.RankingType kind, int animal = 0) { // 同じ画面を選択されてもなにもしない if (this.selectRanking == kind && kind != GameServer.RankingType.AnimalScore) { return; } else { this.selectRanking = kind; } bool isAnimal = kind == GameServer.RankingType.AnimalScore ? true : false; // 一回消す foreach (Transform t in isAnimal ? this.AnimalCarContent : this.RankingContent) { GameObject.Destroy(t.gameObject); } EraseRankingList(); var rank = new GameServer(); string stageId = kind == GameServer.RankingType.StageHighScore ? PlayerDataManager.PlayerData.HighScoreData.MapId : ""; StartCoroutine(rank.RetrieveRankingCoroutine((int)kind, stageId, animal, 0, res => { int cnt = 0; // res.Orderは0が1位。参加なしは-1 string myRank = res.Order > -1 ? $"あなたの順位は{res.Order + 1}位です" : "このランキングには参加していません。"; if (isAnimal) { this.AnimalCarMyRankText.text = myRank; } else { this.RankingMyRankText.text = myRank; } Action MakeBar = () => { foreach (var dat in res.Rankings) { var bar = GetRankingBarPrefab(isAnimal); bar.PlayerNameTxt.text = dat.PlayerName; bar.ScoreTxt.text = kind == GameServer.RankingType.StageWinnerRanking ? $"{dat.Score}回" : $"{dat.Score}pt"; Sprite frame = cnt == res.Order ? this.FrameSprites[1] : this.FrameSprites[0]; bar.RankingBaseImg.sprite = frame; Sprite icon = cnt < 3 ? this.RankingIcons[cnt] : this.RankingIcons[3]; bar.RankingImg.sprite = icon; if (cnt > 2) { bar.RankingNumTxt.text = (cnt + 1).ToString(); bar.RankingNumTxt.gameObject.SetActive(true); } ++cnt; } }; // レースを行っていればエリア名を取得してからリスト作成 if (PlayerDataManager.PlayerData.HighScoreData.MapId != "") { // ハイスコア記録したId Map.AreaName.Get(PlayerDataManager.PlayerData.HighScoreData.MapId, name => { if (kind == GameServer.RankingType.StageHighScore) { var areaBar = GetRankingBarPrefab(isAnimal); areaBar.RankingBaseImg.sprite = this.FrameSprites[0]; areaBar.AreaTxt.text = name; areaBar.RankingImg.gameObject.SetActive(false); } MakeBar(); }); } else { MakeBar(); } })); this.AnimalCarRanking.gameObject.SetActive(isAnimal); this.Ranking.gameObject.SetActive(!isAnimal); }