public void BuildItem(BuildItem item)
        {
            int num = m_BuildSystem.CanBuild(m_From, m_Tool, item.ItemType);

            if (num > 0)
            {
                m_From.SendGump(new BuildGump(m_From, m_BuildSystem, m_Tool, num));
            }
            else
            {
                Type type = null;

                BuildContext context = m_BuildSystem.GetContext(m_From);

                if (context != null)
                {
                    BuildSubResCol res      = (item.UseSubRes2 ? m_BuildSystem.BuildSubRes2 : m_BuildSystem.BuildSubRes);
                    int            resIndex = (item.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex);

                    if (resIndex >= 0 && resIndex < res.Count)
                    {
                        type = res.GetAt(resIndex).ItemType;
                    }
                }

                m_BuildSystem.CreateItem(m_From, item.ItemType, type, m_Tool, item);
            }
        }
Esempio n. 2
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            // Back Button
            if (info.ButtonID == 0)
            {
                BuildGump buildGump = new BuildGump(m_From, m_BuildSystem, m_Tool, null);
                m_From.SendGump(buildGump);
            }
            else             // Make Button
            {
                int num = m_BuildSystem.CanBuild(m_From, m_Tool, m_BuildItem.ItemType);

                if (num > 0)
                {
                    m_From.SendGump(new BuildGump(m_From, m_BuildSystem, m_Tool, num));
                }
                else
                {
                    Type type = null;

                    BuildContext context = m_BuildSystem.GetContext(m_From);

                    if (context != null)
                    {
                        BuildSubResCol res      = (m_BuildItem.UseSubRes2 ? m_BuildSystem.BuildSubRes2 : m_BuildSystem.BuildSubRes);
                        int            resIndex = (m_BuildItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex);

                        if (resIndex > -1)
                        {
                            type = res.GetAt(resIndex).ItemType;
                        }
                    }

                    m_BuildSystem.CreateItem(m_From, m_BuildItem.ItemType, type, m_Tool, m_BuildItem);
                }
            }
        }