public void CraftItem( CraftItem item )
{
int num = m_CraftSystem.CanCraft( m_From, m_Tool, item.ItemType );
if ( num > 0 )
{
m_From.SendGump( new CraftGump( m_From, m_CraftSystem, m_Tool, num ) );
}
else
{
Type type = null;
CraftContext context = m_CraftSystem.GetContext( m_From );
if ( context != null )
{
CraftSubResCol res = ( item.UseSubRes2 ? m_CraftSystem.CraftSubRes2 : m_CraftSystem.CraftSubRes );
int resIndex = ( item.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex );
if ( resIndex >= 0 && resIndex < res.Count )
type = res.GetAt( resIndex ).ItemType;
}
m_CraftSystem.CreateItem( m_From, item.ItemType, type, m_Tool, item );
}
}
public override void OnResponse(NetState sender, RelayInfo info) { int typeId = info.ButtonID / 1000; int index = info.ButtonID % 1000; CraftContext context = m_CraftSystem.GetContext(m_From); if (context == null) { return; } if (info.ButtonID == 9999) // Back Button { CraftGump craftGump = new CraftGump(m_From, m_CraftSystem, m_Tool, null); m_From.SendGump(craftGump); } else if (typeId == 10) // Make Number { m_From.Prompt = new MakeAmountPrompt(m_CraftSystem, m_CraftItem, m_Tool); } else { if (typeId == 11) // Make Max { context.Total = 9999; } if (info.ButtonID != 0) // Make Button { CraftGump.CraftItem(m_CraftItem, m_CraftSystem, m_From, m_Tool); } } }