31 lines
No EOL
844 B
C#
31 lines
No EOL
844 B
C#
using System;
|
|
|
|
namespace Server.Engines.Harvest
|
|
{
|
|
public class HarvestTimer : Timer
|
|
{
|
|
private Mobile m_From;
|
|
private Item m_Tool;
|
|
private HarvestSystem m_System;
|
|
private HarvestDefinition m_Definition;
|
|
private object m_ToHarvest, m_Locked;
|
|
private int m_Index, m_Count;
|
|
|
|
public HarvestTimer( Mobile from, Item tool, HarvestSystem system, HarvestDefinition def, object toHarvest, object locked ) : base( TimeSpan.Zero, def.EffectDelay )
|
|
{
|
|
m_From = from;
|
|
m_Tool = tool;
|
|
m_System = system;
|
|
m_Definition = def;
|
|
m_ToHarvest = toHarvest;
|
|
m_Locked = locked;
|
|
m_Count = Utility.RandomList( def.EffectCounts );
|
|
}
|
|
|
|
protected override void OnTick()
|
|
{
|
|
if ( !m_System.OnHarvesting( m_From, m_Tool, m_Definition, m_ToHarvest, m_Locked, ++m_Index == m_Count ) )
|
|
Stop();
|
|
}
|
|
}
|
|
} |