public CraftState( Mobile crafter, BaseTool tool, int componentAmount ) { m_Crafter = crafter; m_Tool = tool; m_GumpComponents = new GumpComponent[componentAmount]; for ( int i = 0; i < componentAmount; i++ ) m_GumpComponents[i] = new GumpComponent(); }
public virtual void RemoveComponent( int index, bool skipupdate ) { Type type = GumpComponents[index].Type; if ( type == null ) return; if ( !m_Components.ContainsKey( type ) ) return; if ( m_Components[type] > 1 ) m_Components[type]--; else m_Components.Remove( type ); GumpComponents[index] = new GumpComponent(); if (!skipupdate) Update(); }
public virtual bool ReadRecipe( BaseRecipe recipe ) { if ( recipe.ComponentTypes == null ) { m_LastMessage = "This recipe is blank."; return false; } m_GumpComponents = new GumpComponent[recipe.ComponentTypes.Length]; for ( int i=0; i<recipe.ComponentTypes.Length; i++ ) { m_GumpComponents[i] = new GumpComponent(); if ( recipe.ComponentTypes[i] == null ) continue; Item instance = (Item)Activator.CreateInstance(recipe.ComponentTypes[i]); if ( !AddComponent( instance, i, true ) ) { m_LastMessage = "You cannot use one or more of the listed components."; Update(); return false; } } m_LastMessage = "You successfully add the components according to the recipe."; Update(); return true; // success }