One Time

One Time

No permission to download
*Updates system, now runs on all servers from RunUO 2.3 to Latest ServUO Repo
*Cleaned up the code, removed the debug messages!
*Added a Pause while Server Saving to avoid any conflicts
*Organized the folder scheme to better outline examples from core system
*Fixed a potential issue with DateTime.Now
*Fixed a issue with CPU Usage - Was coming from the Tick and Millisecond IOneTime methods!

-Removed IOneTime Feilds Tick and Millisecond, use second or above for items and mobiles or use the event tick/millisecond but remember to disconnect the event as per notes in main post, there are two solid ways to remove events in the examples!
*Fixed a few minor bugs
*Fixed a potential issue if using Itime and modifying the array!
+Added another example code snippet to ITimeTest.cs (Add in game and place in pack to test it)
*Refactored => OneTimeEventHelper.cs
+Added a ITimeTest.cs example script for using IOneTime
*Cleaned up some code - Assessors added to Values
+Added Interface Feature - See post for details
+Added check to timers to verify the time is correct, ie, make sure the second only fires every second!
+Added new debug support to check UOTime vs ticks/Milli and over all second count vs cpu clock second!
+Added Async code to NewStickyGrass method, check Helper.cs for example!
*Cleaned up some code, removed debug from Min/Hr and Day, not needed!
+Added NewStickyGrass.cs and Helper.cs (This example uses one event to control all sticky grass)
*Refracted some code and fixed some help text in TimeTest
+Added a OnAfterDelete() example to TimeTest, use instead of my Deletion work around if interested!

~The new sticky grass stays invisible to players until they are within range then it comes alive to grab them!
This new version includes solutions to the discussion and recommendations from @Vorspire!

*The system now uses 6 timers, one for each type of interval found in the distro timers
*Each time interval has its own event, see item folder for examples of how to use events
+Added a custom way to get rid of events without having to use -= which causes a huge overhead see delete() in examples
+Added a check for deletion on load <Bug Fix>

~I'll update the main post with updated information on how to use the system within 24 hours, until then please use the TimeTest.cs or StickyGrass.cs as examples of how to incorporate one time