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()); }
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)); }
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); }
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); }
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}"); }
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); }
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); } } }
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); } }
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); }
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); }
public RewardData(RewardEnum type, BigDouble amount) { Type = type; Amount = amount; }