public override void Destroying() { ((SoundBuffer <T>)DataAssetCache <T> .Instance.GetAsset(typeof(SoundBuffer <T>), "AsteroidExplosion")).PlayAnAvailableCopy(); if (Radius.GreaterThan(MinSplitRadius)) { PlayerSaveInfo <T> .GetPlayerInfo().Score += this.Radius.Multiply(20).ToDouble(); Random rand = new Random(); Rock <T> newRock = new Rock <T>(this.Radius.Divide(2), m_RockList); newRock.Position = this.Position; newRock.m_MaxDamage = this.MaxDamage.Divide(2); m_RockList.Add(newRock); newRock = new Rock <T>(this.Radius.Divide(2), m_RockList); newRock.Position = this.Position; newRock.m_MaxDamage = this.MaxDamage.Divide(2); newRock.m_Velocity.Set(M.New <T>(rand.NextDouble() * 200), M.New <T>(rand.NextDouble() * 200)); m_RockList.Add(newRock); } }