示例#1
0
        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);
            }
        }