public void FillRifleStats(RifleStats stats) { RifleName.SetDynamicText("Rifle", stats.Quality); Accuracy.SetDynamicText(stats.Accuracy.ToString("0")); Recoil.SetDynamicText(stats.Recoil.ToString("0.00")); Damage.SetDynamicText(stats.DamagePerRound.ToString("0.0")); RateOfFire.SetDynamicText((1f / stats.RateOfFire).ToString("0.00")); Ammo.SetDynamicText(stats.AmmoPerMag); Range.SetDynamicText(stats.Range.ToString("0.0")); }
public static RifleStats GenerateNewRifle(ItemQuality quality) { var genData = RifleGenerationPresets.GenData[quality]; var stats = new RifleStats(); stats.Accuracy = RandomService.GetRandom(genData.MinAccuracy, genData.MaxAccuracy); stats.MinAccuracy = stats.Accuracy - 20; stats.AimDistance = 20f; stats.AimRecovery = 0.8f; stats.Quality = quality; stats.DamagePerRound = RandomService.GetRandom(genData.MinDamagePerRound, genData.MaxDamagePerRound); stats.PushForce = stats.DamagePerRound * 10; stats.Range = RandomService.GetRandom(genData.MinRange, genData.MaxRange); stats.RateOfFire = RandomService.GetRandom(genData.MinRateOfFire, genData.MaxRateOfFire); stats.Recoil = RandomService.GetRandom(genData.MinRecoil, genData.MaxRecoil); stats.AmmoPerMag = RandomService.GetRandom(genData.MinAmmoPerMag, genData.MaxAmmoPerMag); return(stats); }
void GenerateNewRifle() { var rifle = Instantiate(RiflePrefab, Platform).GetComponent <Rifle>(); var body = Instantiate(Repos.RifleRepo.GetRandomBody(), rifle.transform); var stock = Instantiate(Repos.RifleRepo.GetRandomStock()); var mag = Instantiate(Repos.RifleRepo.GetRandomMag()); var barrel = Instantiate(Repos.RifleRepo.GetRandomBarrel()); var quality = Enum.GetValues(typeof(ItemQuality)).Cast <ItemQuality>().PickOne(); rifle.Initialize(WeaponGenerator.GenerateNewRifle(quality), body.transform, barrel.transform, stock.transform, mag.transform); Panel.FillRifleStats(rifle.GetWeaponStats() as RifleStats); currentRifleStats = rifle.GetWeaponStats() as RifleStats; currentRifleData = new RifleAssemblyData { BarrelId = barrel.GetComponent <AssemblyPart>().AssemblyPartId, BodyId = body.GetComponent <AssemblyPart>().AssemblyPartId, StockId = stock.GetComponent <AssemblyPart>().AssemblyPartId, MagId = mag.GetComponent <AssemblyPart>().AssemblyPartId, }; }