55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Server;
|
|
using Server.Commands;
|
|
using Server.Engines.Spawners;
|
|
|
|
namespace Server.Engines.Tasks;
|
|
|
|
public static class TaskManager
|
|
{
|
|
private static Timer _timer30Min;
|
|
private static Timer _timer1Hour;
|
|
private static Timer _timer24Hour;
|
|
|
|
public static void Initialize()
|
|
{
|
|
// 30-Minute Recurring Timer
|
|
_timer30Min = Timer.DelayCall(TimeSpan.FromMinutes(30), TimeSpan.FromMinutes(30), () => On30MinuteTick(null));
|
|
|
|
// 1-Hour Recurring Timer
|
|
_timer1Hour = Timer.DelayCall(TimeSpan.FromHours(1), TimeSpan.FromHours(1), () => On1HourTick(null));
|
|
|
|
// 24-Hour Recurring Timer
|
|
_timer24Hour = Timer.DelayCall(TimeSpan.FromHours(24), TimeSpan.FromHours(24), () => On24HourTick(null));
|
|
|
|
// Register developer commands for manual testing
|
|
CommandSystem.Register("ForceTask30", AccessLevel.Developer, e => On30MinuteTick(e.Mobile));
|
|
CommandSystem.Register("ForceTask1H", AccessLevel.Developer, e => On1HourTick(e.Mobile));
|
|
CommandSystem.Register("ForceTask24H", AccessLevel.Developer, e => On24HourTick(e.Mobile));
|
|
}
|
|
|
|
// ==========================================
|
|
// 30-MINUTE INTERVAL LOGIC (Trap Reshuffle)
|
|
// ==========================================
|
|
public static void On30MinuteTick(Mobile from = null)
|
|
{
|
|
}
|
|
|
|
// ==========================================
|
|
// 1-HOUR INTERVAL LOGIC
|
|
// ==========================================
|
|
public static void On1HourTick(Mobile from = null)
|
|
{
|
|
// Add hourly tasks here
|
|
}
|
|
|
|
// ==========================================
|
|
// 24-HOUR INTERVAL LOGIC
|
|
// ==========================================
|
|
public static void On24HourTick(Mobile from = null)
|
|
{
|
|
// Add daily tasks here
|
|
}
|
|
}
|