Ejemplo n.º 1
0
    bool CreateRadioItem()
    {
        if (radio != null)
        {
            return(false);
        }
        radio = ItemManager.GetItemByIndex(ITEM_ID);
        if (radio != null)
        {
            Error($"{ITEM_DISPLAYNAME} item already created."); return(false);
        }
        var originalRadio = ItemManager.GetItemByName("Placeable_Radio");

        if (originalRadio == null)
        {
            Error("Cannot find original radio item."); return(false);
        }
        radio = Object.Instantiate(originalRadio); radio.name = ITEM_NAME;
        var traverse = Traverse.Create(radio);

        traverse.Property("UniqueName").SetValue(ITEM_NAME);
        traverse.Property("UniqueIndex").SetValue(ITEM_ID);
        traverse.Field("settings_Inventory").Property("DisplayName").SetValue(ITEM_DISPLAYNAME);
        traverse.Field("settings_Inventory").Property("Description").SetValue(ITEM_DESCRIPTION);
        RAPI.RegisterItem(radio);
        Info($"{ITEM_DISPLAYNAME} item created.");
        return(true);
    }
Ejemplo n.º 2
0
 public void RegisterPlaceableItem(Item_Base item, RBlockQuadType[] quadtypes)
 {
     Traverse.Create(item.settings_recipe).Field("subCategory").SetValue(line.ToString());
     if (currentMenuOffset == 4)
     {
         currentMenuOffset = 0;
         line++;
     }
     currentMenuOffset++;
     RAPI.RegisterItem(item);
     foreach (RBlockQuadType rb in quadtypes)
     {
         RAPI.AddItemToBlockQuadType(item, rb);
     }
 }
Ejemplo n.º 3
0
    public IEnumerator Start()
    {
        layerMask = ~layerMask;

        RConsole.Log("Fertilizer has been loaded!");

        AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync("mods/ModData/Fertilizer/fertilizer.assets");

        yield return(request);

        assets = request.assetBundle;

        Item_Base fertilizeItem = assets.LoadAsset <Item_Base>("fertilizer");

        RAPI.RegisterItem(fertilizeItem);
        RAPI.SetItemObject(fertilizeItem, assets.LoadAsset <GameObject>("fertilizerGameObject"));
    }