Esempio n. 1
0
    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;
    }
Esempio n. 2
0
 void Start()
 {
     if (!Instance)
     {
         Instance = this;
     }
 }
Esempio n. 3
0
    public void Revcie(AchievementView view)
    {
        AchievementViewData data = view.data;

        view.receiveBtn.isEnabled = false;
        NetworkManager.Instance.AchievementReceive(data.data.id);
        curCallBackView = view;
    }
Esempio n. 4
0
    //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);
            }
        }
    }
Esempio n. 5
0
    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;
    }
Esempio n. 6
0
 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;
 }
Esempio n. 7
0
 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);
        }