// Token: 0x06003D3A RID: 15674 RVA: 0x000DB1E0 File Offset: 0x000D93E0 public float GetWorkDuration() { global::IToolItem tool = this.GetTool(); if (tool != null) { return(tool.workDuration); } return(0f); }
// Token: 0x060036F6 RID: 14070 RVA: 0x000C5E28 File Offset: 0x000C4028 public override bool CanWork(global::IToolItem tool, global::Inventory workbenchInv) { if (workbenchInv.occupiedSlotCount > 2) { Debug.Log("Too many items for recycle"); return(false); } global::IInventoryItem firstItemNotTool = base.GetFirstItemNotTool(tool, workbenchInv); return(firstItemNotTool.datablock.isRecycleable && global::BlueprintDataBlock.FindBlueprintForItem(firstItemNotTool.datablock)); }
// Token: 0x06003D30 RID: 15664 RVA: 0x000DAF64 File Offset: 0x000D9164 public void CancelWork() { global::IToolItem tool = this.GetTool(); if (tool != null) { tool.CancelWork(); } this._inventory.locked = false; this._startTime_network = 0.0; this._workDuration = -1f; base.CancelInvoke("CompleteWork"); this.SendWorkStatusUpdate(); }
// Token: 0x0600371B RID: 14107 RVA: 0x000C6120 File Offset: 0x000C4320 public override bool CompleteWork(global::IToolItem tool, global::Inventory workbenchInv) { if (!this.CanWork(tool, workbenchInv)) { return(false); } global::IInventoryItem firstItemNotTool = base.GetFirstItemNotTool(tool, workbenchInv); global::BlueprintDataBlock blueprintDataBlock; if (global::BlueprintDataBlock.FindBlueprintForItem <global::BlueprintDataBlock>(firstItemNotTool.datablock, out blueprintDataBlock)) { workbenchInv.AddItem(blueprintDataBlock, global::Inventory.Slot.Preference.Define(global::Inventory.Slot.Kind.Default, blueprintDataBlock.IsSplittable(), global::Inventory.Slot.Kind.Belt), 1); return(true); } return(false); }
// Token: 0x0600371A RID: 14106 RVA: 0x000C60BC File Offset: 0x000C42BC public override bool CanWork(global::IToolItem tool, global::Inventory workbenchInv) { if (workbenchInv.occupiedSlotCount > 2) { Debug.Log("Too many items for research"); return(false); } global::IInventoryItem firstItemNotTool = base.GetFirstItemNotTool(tool, workbenchInv); if (firstItemNotTool != null && firstItemNotTool.datablock.isResearchable && global::BlueprintDataBlock.FindBlueprintForItem(firstItemNotTool.datablock)) { return(true); } Debug.Log("Can't work!?!!?"); return(false); }
// Token: 0x0600373F RID: 14143 RVA: 0x000C62B0 File Offset: 0x000C44B0 public global::IInventoryItem GetFirstItemNotTool(global::IToolItem tool, global::Inventory workbenchInv) { using (global::Inventory.OccupiedIterator occupiedIterator = workbenchInv.occupiedIterator) { global::IInventoryItem inventoryItem; while (occupiedIterator.Next(out inventoryItem)) { if (!object.ReferenceEquals(inventoryItem, tool)) { return(inventoryItem); } } } Debug.LogWarning("Could not find target item"); return(null); }
// Token: 0x060036F8 RID: 14072 RVA: 0x000C5E84 File Offset: 0x000C4084 public override bool CompleteWork(global::IToolItem tool, global::Inventory workbenchInv) { if (!this.CanWork(tool, workbenchInv)) { return(false); } global::IInventoryItem firstItemNotTool = base.GetFirstItemNotTool(tool, workbenchInv); global::BlueprintDataBlock blueprintDataBlock; global::BlueprintDataBlock.FindBlueprintForItem <global::BlueprintDataBlock>(firstItemNotTool.datablock, out blueprintDataBlock); int num = 1; if (firstItemNotTool.datablock.IsSplittable()) { num = firstItemNotTool.uses; } for (int i = 0; i < num; i++) { foreach (global::BlueprintDataBlock.IngredientEntry ingredientEntry in blueprintDataBlock.ingredients) { int num2 = Random.Range(0, 4); if (num2 != 0) { if (num2 == 1 || num2 == 2 || num2 == 3) { workbenchInv.AddItemAmount(ingredientEntry.Ingredient, ingredientEntry.amount); } } } } int num3; if (!firstItemNotTool.datablock.IsSplittable()) { num3 = firstItemNotTool.uses; } else { num3 = num; } if (firstItemNotTool.Consume(ref num3)) { firstItemNotTool.inventory.RemoveItem(firstItemNotTool.slot); } return(true); }
// Token: 0x06003D2C RID: 15660 RVA: 0x000DAE7C File Offset: 0x000D907C private void StartWork() { if (!this.EnsureWorkExists()) { return; } global::IToolItem tool = this.GetTool(); if (tool == null) { return; } this._startTime_network = global::NetCull.time; this._workDuration = this.GetWorkDuration(); base.Invoke("CompleteWork", this._workDuration); this._inventory.locked = true; tool.StartWork(); this.SendWorkStatusUpdate(); }
// Token: 0x06003719 RID: 14105 RVA: 0x000C60B4 File Offset: 0x000C42B4 public override float GetWorkDuration(global::IToolItem tool) { return(30f); }
// Token: 0x06003D32 RID: 15666 RVA: 0x000DAFC0 File Offset: 0x000D91C0 public bool EnsureWorkExists() { global::IToolItem tool = this.GetTool(); return(tool != null && tool.canWork); }
// Token: 0x0600328F RID: 12943 RVA: 0x000BFB54 File Offset: 0x000BDD54 public override float GetWorkDuration(global::IToolItem tool) { return(this.craftingDuration); }
// Token: 0x0600373E RID: 14142 RVA: 0x000C62A8 File Offset: 0x000C44A8 public virtual float GetWorkDuration(global::IToolItem tool) { return(1f); }
// Token: 0x0600373D RID: 14141 RVA: 0x000C62A4 File Offset: 0x000C44A4 public virtual bool CompleteWork(global::IToolItem tool, global::Inventory workbenchInv) { return(false); }