public static void DisplayTo(Mobile user, DonationProfile profile, bool refreshOnly, string node) { var info = EnumerateInstances <DonationProfileUI>(user).FirstOrDefault(g => g != null && !g.IsDisposed && g.IsOpen); if (info == null) { if (refreshOnly) { return; } info = new DonationProfileUI(user, profile); } else if (profile != null) { info.Profile = profile; } if (!String.IsNullOrWhiteSpace(node)) { info.SelectedNode = node; } info.Refresh(true); }
public static void DisplayTo(Mobile user, DonationProfile profile, bool refreshOnly, string node) { var info = EnumerateInstances<DonationProfileUI>(user).FirstOrDefault(g => g != null && !g.IsDisposed && g.IsOpen); if (info == null) { if (refreshOnly) { return; } info = new DonationProfileUI(user, profile); } else if (profile != null) { info.Profile = profile; } if (!String.IsNullOrWhiteSpace(node)) { info.SelectedNode = node; } info.Refresh(true); }
public static void CheckDonate(Mobile user, bool message = true) { if (user == null || user.Deleted) { return; } if (!CMOptions.ModuleEnabled) { if (message) { user.SendMessage("The donation exchange is currently unavailable, please try again later."); } return; } if (!user.Alive) { if (message) { user.SendMessage("You must be alive to do that!"); } return; } if (Profiles.Status != DataStoreStatus.Idle) { if (message) { user.SendMessage("The donation exchange is busy, please try again in a few moments."); } return; } if (CMOptions.CurrencyType == null || CMOptions.CurrencyPrice <= 0) { if (message) { user.SendMessage("Currency conversion is currently disabled, contact a member of staff to handle your donations."); } return; } var profile = FindProfile(user.Account); if (profile != null) { var count = profile.Visible.Count(); if (count == 0) { if (message) { user.SendMessage("There are no current donation records for your account."); } } else { if (message) { user.SendMessage("Thank you for your donation{0}, {1}!", count != 1 ? "s" : "", user.RawName); } DonationProfileUI.DisplayTo(user, profile, profile.Visible.FirstOrDefault()); } } else if (message) { user.SendMessage("There are no current donation records for your account."); } }