private void DrawAbilityPageEnabled() { calculator = new TLW.TLWBombCalculatorV1(); bombStats = BombSettings.Load(typeof(TLW.TLWBombCalculatorV1)); localBombStats = new float[4]; //localBombStats[0] = Bomb.MyBombRad; //localBombStats[1] = Bomb.MyBombRange; //localBombStats[2] = Bomb.MyBombSpeed; //localBombStats[3] = Bomb.MyBombCD; }
private void DrawAbilityPageDisabled() { if (bombStats != null) { BombStats toSave = calculator.ValidateStats(bombStats); BombSettings.WriteToStorage(toSave, calculator.GetType()); } if (localBombStats != null) { //Bomb.MyBombRad.Value = Mathf.RoundToInt(localBombStats[0]); //Bomb.MyBombRange.Value = Mathf.RoundToInt(localBombStats[1]); //Bomb.MyBombSpeed.Value = Mathf.RoundToInt(localBombStats[2]); //Bomb.MyBombCD.Value = Mathf.RoundToInt(localBombStats[3]); //if (Bomb.MyBombRad.Value + Bomb.MyBombRange.Value + Bomb.MyBombSpeed.Value + Bomb.MyBombCD.Value > 20) //{ // Bomb.MyBombRad.Value = 5; // Bomb.MyBombCD.Value = 5; // Bomb.MyBombSpeed.Value = 5; // Bomb.MyBombRange.Value = 5; //} localBombStats = null; } }
private void ParseBombs(string bombs) { Regex regex = new Regex(@"\[\'(.+?)\'\]\s*=\s*{(.+?),}"); Match bomb = regex.Match(bombs); while (bomb.Success) { string bombName = bomb.Groups[1].Value; regex = new Regex(@"(T[0-9])\s*=\s*{Dmg\s*=\s*([0-9]{1,3}),\s*Dmg3\s*=\s*([0-9]{1,3}),\s*Dmg6\s*=\s*([0-9]{1,3}),\s*DmgMax\s*=\s*([0-9]{1,3})}"); Match tier = regex.Match(bomb.Groups[2].Value); while (tier.Success) { BombStats bombDamageLevels = new BombStats(); bombDamageLevels.BombName = bombName; bombDamageLevels.BombTech = tier.Groups[1].Value; bombDamageLevels.Dmg = int.Parse(tier.Groups[2].Value); bombDamageLevels.Dmg3 = int.Parse(tier.Groups[3].Value); bombDamageLevels.Dmg6 = int.Parse(tier.Groups[4].Value); bombDamageLevels.DmgMax = int.Parse(tier.Groups[5].Value); BombDLs.Add(bombDamageLevels); tier = tier.NextMatch(); } bomb = bomb.NextMatch(); } if (BombDLs.Count == 0) { Logger.Write($"Error in parsing bombs for DPS calculations.", this.GetType().ToString()); } }