public static void StartSearch( Mobile from, SearchCriteria criteria, int page ) { if ( !IsInValidRegion( from ) ) { // Before using vendor search, you must be in a justice region or a safe log-out location (such as an inn or a house which has you on its Owner, Co-owner, or Friends list). from.SendLocalizedMessage( 1154680 ); return; } var resultsTask = VendorItemFinder.Instance.FindVendorItemsAsync( criteria, page ); var pollingTimer = new TaskPollingTimer<IVendorSearchItem[]>( resultsTask, ( results ) => { from.CloseGump( typeof( VendorSearchQueryGump ) ); from.CloseGump( typeof( VendorSearchResultsGump ) ); from.CloseGump( typeof( VendorSearchWaitGump ) ); if ( results.Any() ) { from.SendGump( new VendorSearchQueryGump( from, criteria ) ); from.SendGump( new VendorSearchResultsGump( results, criteria, page ) ); } else { from.SendGump( new VendorSearchQueryGump( from, criteria, 1154587 ) ); // No items matched your search. } } ); resultsTask.Start(); pollingTimer.Start(); from.SendGump( new VendorSearchWaitGump( pollingTimer ) ); }
public static void RunArchive(string oiginDir) { if (ArchiveDuration == -1 || DateTime.UtcNow > LastArchive + TimeSpan.FromHours(ArchiveDuration)) { LastArchive = DateTime.UtcNow; var resultTask = RunArchiveTask(oiginDir); var pollingTimer = new TaskPollingTimer <string>(resultTask, results => { Utility.WriteConsoleColor(ConsoleColor.Cyan, "...Complete, save archive created in {0} milliseconds. Next archive: {1}", Core.TickCount - _TickCount, DateTime.Now + TimeSpan.FromHours(ArchiveDuration)); }); resultTask.Start(); pollingTimer.Start(); Utility.WriteConsoleColor(ConsoleColor.Cyan, "Creating backup save archive..."); _TickCount = Core.TickCount; } }
public static void StartSearch( Mobile from, SearchCriteria criteria, int page ) { if ( !IsInValidRegion( from ) ) { // Before using vendor search, you must be in a justice region or a safe log-out location (such as an inn or a house which has you on its Owner, Co-owner, or Friends list). from.SendLocalizedMessage( 1154680 ); return; } var resultsTask = VendorItemFinder.Instance.FindVendorItemsAsync( criteria, page ); var pollingTimer = new TaskPollingTimer<IVendorSearchItem[]>( resultsTask, ( results ) => { from.CloseGump( typeof( VendorSearchQueryGump ) ); from.CloseGump( typeof( VendorSearchResultsGump ) ); from.CloseGump( typeof( VendorSearchWaitGump ) ); if ( results.Any() ) { from.SendGump( new VendorSearchQueryGump( from, criteria ) ); from.SendGump( new VendorSearchResultsGump( results, criteria, page ) ); } else { from.SendGump( new VendorSearchQueryGump( from, criteria, 1154587 ) ); // No items matched your search. } } ); resultsTask.Start(); pollingTimer.Start(); from.SendGump( new VendorSearchWaitGump( pollingTimer ) ); }