コード例 #1
0
    public void Init(RankReward data)
    {
        rank.text   = data.rank;
        reward.text = data.reward[0].name;
        rankIcon.gameObject.SetActive(true);
        rank.gameObject.SetActive(false);
        switch (data.rank)
        {
        case "1":
            reward.color    = Color.white;
            reward.color    = new Color(255f / 255, 228f / 255, 75f / 255);
            rankIcon.sprite = BundleManager.Instance.GetSprite("Common/normal_jiangbei_" + data.rank);
            break;

        case   "2":
            reward.color    = Color.white;
            reward.color    = new Color(148f / 255, 148f / 255, 188f / 255);
            rankIcon.sprite = BundleManager.Instance.GetSprite("Common/normal_jiangbei_" + data.rank);
            break;

        case "3":
            reward.color    = Color.white;
            reward.color    = new Color(177f / 255, 96f / 255, 30f / 255);
            rankIcon.sprite = BundleManager.Instance.GetSprite("Common/normal_jiangbei_" + data.rank);
            break;

        default:
            rankIcon.gameObject.SetActive(false);
            rank.gameObject.SetActive(true);
            break;
        }
    }
コード例 #2
0
        public async Task <RankReward> AddRankReward(RankReward rankReward)
        {
            _konekoContext.RankRewards.Add(rankReward);
            await _konekoContext.SaveChangesAsync();

            return(rankReward);
        }
コード例 #3
0
        public async Task <bool> DeleteRankReward(RankReward rankReward)
        {
            bool deleted = false;

            if (!(rankReward is null))
            {
                _konekoContext.Remove(rankReward);
                await _konekoContext.SaveChangesAsync();

                deleted = true;
            }

            return(deleted);
        }
コード例 #4
0
        public async Task <bool> UpdateRankReward(RankReward rankReward)
        {
            bool changed = false;

            if (!(rankReward is null))
            {
                rankReward.Modified = DateTime.UtcNow;
                _konekoContext.Entry(rankReward).State = EntityState.Modified;
                await _konekoContext.SaveChangesAsync();

                changed = true;
            }
            return(changed);
        }
コード例 #5
0
        public async Task SetRewardRole(string roleName, ulong reqScore)
        {
            IRole role = Context.Guild.Roles.FirstOrDefault(x => x.Name == roleName);

            role ??= await Context.Guild.CreateRoleAsync(roleName);

            if (role is null)
            {
                await ReplyImage("Nie udało się dodać roli");

                return;
            }

            var rankReward = await _statisticsRepository.GetRankReward(Context.Guild.Id, Context.User.Id);

            if (rankReward is null)
            {
                rankReward = new RankReward
                {
                    GuildId  = Context.Guild.Id,
                    ReqScore = reqScore,
                    RoleId   = role.Id,
                    AddedBy  = Context.User.Id
                };
                await _statisticsRepository.AddRankReward(rankReward);
                await ReplyImage($"Do listy nagórd dodano rangę {role} za {reqScore} punktów");
            }
            else
            {
                if (reqScore == 0)
                {
                    await _statisticsRepository.DeleteRankReward(rankReward);
                    await ReplyImage($"Usunięto z listy nagród rangę {role.Name}.");
                }
                else
                {
                    rankReward.ReqScore = reqScore;
                    await _statisticsRepository.UpdateRankReward(rankReward);
                    await ReplyImage($"Rola {role} kosztuje teraz {reqScore} punktów");
                }
            }
        }
コード例 #6
0
        private RankReward LoadRankRewardFromXml(SecurityElement element)
        {
            if (element.Tag != "RankReward")
            {
                return(null);
            }
            RankReward reward = new RankReward {
                From = StrParser.ParseDecInt(element.Attribute("From"), 0)
            };

            if (element.Children != null)
            {
                foreach (SecurityElement element2 in element.Children)
                {
                    string str;
                    if (((str = element2.Tag) != null) && (str == "Reward"))
                    {
                        reward.Rewards.Add(Reward.LoadFromXml(element2));
                    }
                }
            }
            return(reward);
        }