public static State build(ConfigNode node)
        {
            string name = node.GetValue("name");

            if (name.Equals(ConstructionState.STATE_NAME))
            {
                return(PartStateFactory.buildConstruction(node));
            }
            if (name.Equals(IntoShipState.STATE_NAME))
            {
                return(PartStateFactory.buildIntoShip(node));
            }
            if (name.Equals(AvailableState.STATE_NAME))
            {
                return(PartStateFactory.buildAvailable(node));
            }

            return(null);
        }
 public void Load(ConfigNode node)
 {
     _partName = node.GetValue("partName");
     state     = PartStateFactory.build(node.GetNode(State.NODE_NAME));
 }