public void RevcieCallBack(C2sSprotoType.achievement_reward_collect.response resp) { curCallBackView.receiveBtn.isEnabled = true; if (resp.errorcode == 1) { MainUI.Instance.GetItemClick(curCallBackView.data.data.rewarData); for (int i = 0; i < curCallBackView.data.data.rewarData.Count; i++) { BagMgr.Instance.AddItemNumById(curCallBackView.data.data.rewarData[i].data.id, curCallBackView.data.data.rewarData[i].curCount); } AchievementViewData view = new AchievementViewData(); AchievementData data = GameShared.Instance.GetAchievementData((int)resp.next.csv_id); view.curProgress = (int)resp.next.finished; view.data = data; if (view.data.condition != 0 && view.curProgress < 100) { view.data.curStar--; } view.sort = GetSort(view); view.isReceive = resp.next.reward_collected; view.isUnlock = resp.next.is_unlock; Unlock(curCallBackView, view); } curCallBackView = null; }
void Start() { if (!Instance) { Instance = this; } }
public void Revcie(AchievementView view) { AchievementViewData data = view.data; view.receiveBtn.isEnabled = false; NetworkManager.Instance.AchievementReceive(data.data.id); curCallBackView = view; }
//vm public void Unlock(AchievementView v, AchievementViewData data) { //LuaFunction f = l.GetFunction("Unlock"); //f.Call(data); List <int> list = GameShared.Instance.GetStr(v.data.data.unlockId); for (int i = 0; i < list.Count; i++) { if (list[i] != 0) { AchievementView view = pop.GetViewByTyep(data.data.type); view.RestData(data); } } }
public void AddNewItem(AchievementViewData d) { GameObject row = Instantiate(itemPrefab); row.SetActive(true); row.transform.parent = grid.transform; row.transform.localScale = Vector3.one; row.transform.position = Vector3.zero; AchievementView view = row.GetComponent <AchievementView>(); view.InitData(d, viewList.Count); viewList.Add(view.data.data.type, view); grid.Reposition(); scroll.ResetPosition(); grid.repositionNow = true; }
public void SetItemList(List <AchievementViewData> list) { while (grid.transform.childCount > 0) { DestroyImmediate(grid.transform.GetChild(0).gameObject); } viewList = new Dictionary <int, AchievementView>(); for (int i = 0; i < list.Count; i++) { GameObject row = Instantiate(itemPrefab); row.SetActive(true); row.transform.parent = grid.transform; row.transform.localScale = Vector3.one; row.transform.position = Vector3.zero; AchievementView view = row.GetComponent <AchievementView>(); view.InitData(list[i], i); viewList.Add(view.data.data.type, view); } grid.Reposition(); scroll.ResetPosition(); grid.repositionNow = true; }
public void RemoveItem(AchievementView v) { grid.RemoveChild(v.gameObject.transform); }
public async Task <PlayerProfileView> GetPlayerProfileAsync(Guid userId) { var seasonsTask = _seasonInfoRepository.GetAllSeasonsAsync(); var summonerTask = _summonerInfoRepository.ReadOneByUserIdAsync(userId); var achievementsTask = _achievementRepository.GetAchievementsForUserAsync(userId); var summoner = await summonerTask; if (summoner == null) { var message = $"User {userId} was not found."; _logger.LogError(message); throw new SummonerInfoException($"User {userId} was not found."); } var achievements = await achievementsTask; var alternateAccountsTask = _alternateAccountRepository.ReadAllForSummonerAsync(summoner.Id); var teamPlayer = (await _teamPlayerRepository.GetAllRostersForPlayerAsync(summoner.Id)).ToList(); var seasons = (await seasonsTask).OrderBy(x => x.SeasonStartDate).ToList(); var alternateAccounts = await alternateAccountsTask; var altAccountsMapped = _alternateAccountMapper.Map(alternateAccounts); var achievementViews = new List <AchievementView>(); foreach (var achievement in achievements) { var achievementView = new AchievementView(achievement); var seasonAchieved = seasons.FirstOrDefault(x => x.SeasonStartDate <achievement.AchievedDate && (x.SeasonEndDate ?? DateTime.MaxValue)> achievement.AchievedDate); achievementView.Season = seasonAchieved != null ? seasonAchieved.SeasonName : "PreSeason"; achievementViews.Add(achievementView); } var playerStatsDictionary = new Dictionary <int, PlayerStatsView>(); var matchDetails = await _matchDetailRepository.GetMatchDetailsForPlayerAsync(new List <Guid> { summoner.Id }); var statIds = matchDetails.Values.SelectMany(x => x.Select(y => y.PlayerStatsId)); var allPlayerStats = await _playerStatsRepository.GetStatsAsync(statIds); var teamname = "None"; if (teamPlayer.Any()) { var latestSeason = seasons.Last(); var team = await _teamRosterRepository.GetTeamAsync(latestSeason.Id, teamPlayer.Select(x => x.TeamRosterId)); if (team != null) { teamname = team.TeamName; } } foreach (var seasonKvp in allPlayerStats) { var season = seasons.First(x => x.Id == seasonKvp.Key.SeasonId); var seasonStats = allPlayerStats.SelectMany(x => x.Value.Where(y => y.SeasonInfoId == season.Id)); var mappedStats = _playerStatsMapper.MapForSeason(seasonStats, 0); if (int.TryParse(season.SeasonName.Split(" ").Last(), out var seasonNum)) { playerStatsDictionary.Add(seasonNum, mappedStats); } } var view = new PlayerProfileView { PlayerName = summoner.SummonerName, Rank = _tierDivisionMapper.Map(summoner.Tier_DivisionId), TeamName = string.IsNullOrEmpty(teamname) ? "None" : teamname, Achievements = achievementViews, PlayerStats = playerStatsDictionary, AlternateAccountViews = altAccountsMapped }; if (summoner.PreviousSeasonRankId != null) { view.PreviousSeasonRank = _tierDivisionMapper.Map(summoner.PreviousSeasonRankId.Value); } return(view); }