public void ResolveCollision(Ship mTarget = null, Projectile mProjTarget = null) { if (mTarget != null && mType == ProjectileType.LaserBall) { mTarget.TriggerBuff(BuffType.ShipSlow, mProjKit.SLOW_EFFECT); Destroy(); } else if (mType == ProjectileType.Mine) { if (mTeam != Constants.PLAYER_TEAM && mProjTarget != null || mTarget != null && mTeam != mTarget.mTeam) { aaGameWorld.aaGFXHandler.PlayEffect("Explosion_01", mXPos, mYPos, mAssetKit.COLOR_BLENDING); SoundEffectInstance mExplosionInstance = aaGameWorld.aaDisplay.aaGame.mExplosion.CreateInstance(); mExplosionInstance.Volume = 0.2f; mExplosionInstance.Play(); aaGameWorld.aaDisplay.aaGame.mGameSoundFX.Add(mExplosionInstance); Destroy(); } } else if (mType == ProjectileType.Missile) { aaGameWorld.aaGFXHandler.PlayEffect("Explosion_01", mXPos, mYPos, mAssetKit.COLOR_BLENDING); SoundEffectInstance mExplosionInstance = aaGameWorld.aaDisplay.aaGame.mExplosion.CreateInstance(); mExplosionInstance.Volume = 0.2f; mExplosionInstance.Play(); aaGameWorld.aaDisplay.aaGame.mGameSoundFX.Add(mExplosionInstance); Destroy(); } else if (mType != ProjectileType.LaserBall) { Destroy(); } }