Пример #1
0
		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 ) );
		}
Пример #2
0
        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;
            }
        }
Пример #3
0
        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 ) );
        }