RocketPart SpawnPart(RocketPartData data)
    {
        RocketPart part = ItemManager.Instance.SpawnItem(data.itemName) as RocketPart;

        part.SetInteractable(false);
        part.SetPlanetInfluence(false);

        part.GetComponent <Rigidbody>().isKinematic = true;

        part.transform.parent        = partsOffset;
        part.transform.localPosition = new Vector3(0f, rocketPartHeight * parts.Count, 0f);
        part.transform.localRotation = Quaternion.identity;

        return(part);
    }
    void SetNextPart(int index)
    {
        if (index >= 0 && index < ItemManager.Instance.RocketPartCount)
        {
            nextPart = ItemManager.Instance.GetRocketPartData(index);

            partIntake.filter.infos.Clear();
            partIntake.filter.infos.Add(new ItemFilter.Info(nextPart.itemName, true));

            partBubble.SetContent(nextPart.itemName, new List <Factory.ItemInfo>()
            {
                new Factory.ItemInfo(nextPart.itemName, 1)
            });
        }
        else
        {
            nextPart = null;

            partBubble.SetTitle("Completed !");
            partBubble.ClearContent();
        }
    }