void SpawnBasic(ShipSettings setts, Vector3 initialPos, Vector2 bounds) { GameObject newEnemy = Pool2.GetGameObjectFromPool(); if (newEnemy) { EnemyBasic enemy = newEnemy.GetComponent <EnemyBasic>(); if (!enemy) { enemy = newEnemy.AddComponent <EnemyBasic>(); } BulletSettings bSetts = new BulletSettings(); bSetts.Damage = 10; bSetts.Speed = 5; bSetts.Type = BulletType.LINEAR; setts.Bullet = bullet; setts.BulletParameters = bSetts; setts.HitPoints = 10; setts.MovementSpeed = 10; setts.RateOfFire = 0.5f; enemy.InitializeCurve(initialPos, bounds); enemy.Initialize(setts); } }
public void Initialize(BulletSettings settings) { Settings = new BulletSettings(); Settings = settings; LifeSpanClock = 0; if (GetComponent <Rigidbody>()) { GetComponent <Rigidbody>().velocity = Vector3.zero; GetComponent <Rigidbody>().angularVelocity = Vector3.zero; } }
void FixedUpdate() { Clock += Time.deltaTime; if (Clock >= SpawnRate) { float scale = 10000; median = Analyser.GetMedianOfSpectrum() * scale; foreach (float frequency in FrequencyList) { ShipSettings setts = new ShipSettings(); //lows float currentFreq = frequency; Vector3 initial = GetARandomTreePos(); initial.x = Analyser.GetFrequencyVolume(frequency) * scale / 10; frequencyNow = initial.x; if (initial.x > 15) { BulletSettings bSetts = new BulletSettings(); bSetts.Damage = 5; bSetts.Speed = 3; bSetts.Type = BulletType.LINEAR; setts.Bullet = bullet; setts.BulletParameters = bSetts; setts.HitPoints = 50; setts.MovementSpeed = 1; setts.RateOfFire = 0.5f; SpawnBasic(setts, initial, GetEmiterBounds()); } //mids currentFreq *= 3; setts = new ShipSettings(); initial = GetARandomTreePos(); initial.x = Analyser.GetFrequencyVolume(frequency) * scale / 10; if (initial.x > 30) { BulletSettings bSetts = new BulletSettings(); bSetts.Damage = 5; bSetts.Speed = 3; bSetts.Type = BulletType.LINEAR; setts.Bullet = bullet; setts.BulletParameters = bSetts; setts.HitPoints = 10; setts.MovementSpeed = 15; setts.RateOfFire = 0.5f; SpawnBasic(setts, initial, GetEmiterBounds()); } } Clock = 0; } }