コード例 #1
0
    public static List <GamblingConfig> ParseGamblings(string text)
    {
        List <RewardEnum>      rewardTypes = ParseRewardTypes(text);
        IEnumerable <string[]> source      = TSVParser.Parse(text).Skip(1);

        return(source.Select(delegate(string[] line)
        {
            GamblingConfig gamblingConfig = new GamblingConfig
            {
                Level = line.asInt(0, line.toError <int>()),
                FailChance = line.asFloat(1, line.toError <float>())
            };
            List <WeightedObject <RewardData> > list = new List <WeightedObject <RewardData> >();
            for (int i = 2; i < line.Length; i++)
            {
                RewardEnum type = rewardTypes[i - 2];
                AmountAndWeight amountAndWeight = line.asCustom(i, AmountAndWeightParser.ParseAmountAndWeight, line.toError <AmountAndWeight>());
                WeightedObject <RewardData> item = new WeightedObject <RewardData>
                {
                    Value = new RewardData(type, amountAndWeight.Amount),
                    Weight = amountAndWeight.Weight
                };
                list.Add(item);
            }
            gamblingConfig.Rewards = list;
            return gamblingConfig;
        }).ToList());
    }
コード例 #2
0
    public static RewardData ParseReward(string raw)
    {
        string[]   row    = raw.Split("X".ToCharArray());
        RewardEnum type   = row.asEnum(0, row.toError <RewardEnum>());
        BigDouble  amount = row.asBigDouble(1, row.toError <BigDouble>());

        return(new RewardData(type, amount));
    }
コード例 #3
0
    private RewardData TransformCoinAmount(RewardData reward)
    {
        int        value = PlayerData.Instance.LifetimeChunk.Value;
        RewardEnum type  = reward.Type;

        if (type == RewardEnum.AddToCoinsSmall || type == RewardEnum.AddToCoinsMedium || type == RewardEnum.AddToCoinsLarge)
        {
            return(new RewardData(reward.Type, Singleton <EconomyHelpers> .Instance.GetCoinRewardAmount(reward.Type, value)));
        }
        return(reward);
    }
コード例 #4
0
    private RewardEnum RandomizeUnlockedSkill()
    {
        List <RewardEnum> unlockedSkills = Singleton <EconomyHelpers> .Instance.GetUnlockedSkills();

        RewardEnum result = RewardEnum.Invalid;

        if (unlockedSkills.Count > 0)
        {
            result = unlockedSkills[Random.Range(0, unlockedSkills.Count)];
        }
        return(result);
    }
コード例 #5
0
ファイル: Server.cs プロジェクト: bascibaran/rr_cli
        public void CreateGame(
            string name,
            int buyinCost         = 10,
            int baseCost          = 10,
            RewardEnum rewardEnum = RewardEnum.EQUAL
            )
        {
            Reward reward = new EqualReward();
            Game   game   = new Game(name, buyinCost, baseCost, reward);

            this.games.Add(game);
            Console.WriteLine($"Added a game named {name}");
        }
コード例 #6
0
    private string GetPrefabPath(RewardEnum type)
    {
        string result = string.Empty;

        switch (type)
        {
        case RewardEnum.AddToBerries:
            result = "UI/Tournaments/TournamentItems/TournamentItem_AddToBerries";
            break;

        case RewardEnum.AddToGems:
            result = "UI/Tournaments/TournamentItems/TournamentItem_AddToGems";
            break;
        }
        return(result);
    }
コード例 #7
0
 private void PopulateRewards(BigDouble[] rewards)
 {
     base.transform.DestroyChildrenImmediate();
     for (int i = 0; i < rewards.Length; i++)
     {
         if (rewards[i] > BigDouble.ZERO)
         {
             Dictionary <string, object> dictionary = new Dictionary <string, object>();
             dictionary.Add("StringValue", rewards[i].ToString());
             PropertyManager instance   = Singleton <PropertyManager> .Instance;
             RewardEnum      rewardEnum = (RewardEnum)i;
             GameObject      gameObject = instance.InstantiateFromResources("UI/TimeMachine/MiniRewards/TimeMachineReward_" + rewardEnum.ToString(), Vector3.zero, Quaternion.identity, dictionary);
             gameObject.transform.SetParent(base.transform, worldPositionStays: false);
         }
     }
 }
コード例 #8
0
    private bool IsApplicable(RewardEnum type)
    {
        SkillRunner orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.TNT);

        switch (type)
        {
        case RewardEnum.AddToRelics:
        case RewardEnum.MultiplyCoins:
        case RewardEnum.AddToGems:
        case RewardEnum.AddToKeys:
            return(true);

        case RewardEnum.Bottle:
            return(PlayerData.Instance.LifetimeCreatures.Value > 1);

        case RewardEnum.AddToSkillAutoMine:
            orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.AutoMine);

            return(orCreateSkillRunner.CooldownSeconds.Value > 15 && !orCreateSkillRunner.Active.Value);

        case RewardEnum.AddToSkillGoldfinger:
            orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.Goldfinger);

            return(orCreateSkillRunner.CooldownSeconds.Value > 15 && !orCreateSkillRunner.Active.Value);

        case RewardEnum.AddToSkillTNT:
            orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.TNT);

            return(orCreateSkillRunner.CooldownSeconds.Value > 15 && !orCreateSkillRunner.Active.Value);

        case RewardEnum.AddToSkillTapBoost:
            orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.TapBoost);

            return(orCreateSkillRunner.CooldownSeconds.Value > 15 && !orCreateSkillRunner.Active.Value);

        case RewardEnum.AddToSkillTeamBoost:
            orCreateSkillRunner = Singleton <SkillCollectionRunner> .Instance.GetOrCreateSkillRunner(SkillsEnum.TeamBoost);

            return(orCreateSkillRunner.CooldownSeconds.Value > 15 && !orCreateSkillRunner.Active.Value);

        default:
            return(true);
        }
    }
コード例 #9
0
    private string GetPrefabPath(RewardEnum type)
    {
        string str  = "UI/Tournaments/TournamentReward";
        string str2 = string.Empty;

        switch (type)
        {
        case RewardEnum.AddToBerries:
            str2 = "Berries";
            break;

        case RewardEnum.AddToGems:
            str2 = "Gems";
            break;

        case RewardEnum.AddToMedals:
            str2 = "Tokens";
            break;
        }
        return(str + str2);
    }
コード例 #10
0
    public BigDouble GetCoinRewardAmount(RewardEnum type, int chunk)
    {
        BigDouble bigDouble = Singleton <EconomyHelpers> .Instance.GetBiomeConfig(chunk).BlockReward;

        switch (type)
        {
        case RewardEnum.AddToCoinsSmall:
            bigDouble *= PersistentSingleton <GameSettings> .Instance.GoldBoosterMultipliers[0];
            bigDouble  = BigDouble.Max(bigDouble, PersistentSingleton <GameSettings> .Instance.GoldBoosterMinRewards[0]);
            break;

        case RewardEnum.AddToCoinsMedium:
            bigDouble *= PersistentSingleton <GameSettings> .Instance.GoldBoosterMultipliers[1];
            bigDouble  = BigDouble.Max(bigDouble, PersistentSingleton <GameSettings> .Instance.GoldBoosterMinRewards[1]);
            break;

        case RewardEnum.AddToCoinsLarge:
            bigDouble *= PersistentSingleton <GameSettings> .Instance.GoldBoosterMultipliers[2];
            bigDouble  = BigDouble.Max(bigDouble, PersistentSingleton <GameSettings> .Instance.GoldBoosterMinRewards[2]);
            break;
        }
        return(bigDouble);
    }
コード例 #11
0
 public RewardData(RewardEnum type, BigDouble amount)
 {
     Type   = type;
     Amount = amount;
 }