public Entity ReplaceMaterialReference(MaterialStorage newStorage) { var component = CreateComponent<MaterialReferenceComponent>(ComponentIds.MaterialReference); component.storage = newStorage; ReplaceComponent(ComponentIds.MaterialReference, component); return this; }
public override void Entry(IModHelper helper) { _config = helper.ReadConfig <ModConfig>(); _materialStorage = new MaterialStorage(Monitor, _config); _materialStorage.RegisterEvents(helper); var chestSelected = helper.Content.Load <Texture2D>("assets/workbench-1.png"); var chestDeselected = helper.Content.Load <Texture2D>("assets/workbench-2.png"); _uiHandler = new UIHandler(chestSelected, chestDeselected, _config, _materialStorage, Helper, Monitor); _uiHandler.RegisterUIEvents(helper); _refreshConfigKey = InputUtils.ParseButton(_config.ConfigReloadKey, Monitor); helper.Events.Input.ButtonPressed += OnButtonPressed; BluePrintPatch.Initialize(Monitor, _config, _materialStorage); var harmony = HarmonyInstance.Create(ModManifest.UniqueID); harmony.Patch( AccessTools.Method(typeof(StardewValley.BluePrint), nameof(StardewValley.BluePrint.doesFarmerHaveEnoughResourcesToBuild)), new HarmonyMethod(typeof(BluePrintPatch), nameof(BluePrintPatch.doesFarmerHaveEnoughResourcesToBuild_Prefix)), new HarmonyMethod(typeof(BluePrintPatch), nameof(BluePrintPatch.doesFarmerHaveEnoughResourcesToBuild_Postfix))); harmony.Patch( AccessTools.Method(typeof(StardewValley.BluePrint), nameof(StardewValley.BluePrint.consumeResources)), new HarmonyMethod(typeof(BluePrintPatch), nameof(BluePrintPatch.consumeResources_Prefix))); }
/// <summary> /// 新建产品 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CreateProductbutton_Click(object sender, EventArgs e) { string TempPName = "新产品_" + (Program.SystemContainer.MaterialStorageList.Count + 1).ToString(); MaterialStorage TempMStorage = new MaterialStorage() { ProductName = TempPName, MaterialList = new List <Material>() }; Program.SystemContainer.MaterialStorageList.Add(new MaterialStorage(TempMStorage)); InitTree(); }
public void InitMaterialList(MaterialStorage materialStorage) { List <MaterialRecord> materialRecords = materialStorage.MaterialRecordList; materialList.Clear(); materialList.AddItems(materialRecords.Count); for (int i = 0; i < materialRecords.Count; i++) { GUI_ExoFabMaterialEntry item = materialList.Entries[i] as GUI_ExoFabMaterialEntry; item.ReInit(materialRecords[i]); } }
public void InitMaterialList(MaterialStorage materialStorage) { var materialRecords = materialStorage.MaterialList; materialList.Clear(); materialList.AddItems(materialRecords.Count); var i = 0; foreach (var material in materialRecords.Keys) { GUI_AutolatheMaterialEntry item = materialList.Entries[i] as GUI_AutolatheMaterialEntry; item.ReInit(material, materialRecords[material]); i++; } }
/// <summary> /// Updates the material count for each material /// </summary> /// <param name="exofab"></param> public void UpdateMaterialList(MaterialStorage materialStorage) { InitMaterialList(materialStorage); }
public Entity AddMaterialReference(MaterialStorage newStorage) { var component = CreateComponent<MaterialReferenceComponent>(ComponentIds.MaterialReference); component.storage = newStorage; return AddComponent(ComponentIds.MaterialReference, component); }
public void EnsureInit() { spriteHandler = GetComponentInChildren <SpriteHandler>(); materialStorage = this.GetComponent <MaterialStorage>(); }
public void EnsureInit() { SyncSprite(ExosuitFabricatorState.Idle, ExosuitFabricatorState.Idle); materialStorage = this.GetComponent <MaterialStorage>(); }