public void TryDecayGalleon(object obj) { BaseGalleon gal = obj as BaseGalleon; if (gal == null) { return; } if (gal.PlayerCount() > 0) { Timer.DelayCall(DecayRetry, new TimerStateCallback(TryDecayGalleon), gal); return; } if (gal != null && !gal.Deleted) { gal.ForceDecay(); } }