public void ExperimentComplete() { Item experimentResourceItem = this.GetExperimentResourceItem(); int scrapForExperiment = this.GetScrapForExperiment(); if (Object.op_Equality((Object)this.pendingBlueprint, (Object)null)) { Debug.LogWarning((object)"Pending blueprint was null!"); } if (experimentResourceItem != null && experimentResourceItem.amount >= scrapForExperiment && Object.op_Inequality((Object)this.pendingBlueprint, (Object)null)) { experimentResourceItem.UseItem(scrapForExperiment); Item obj = ItemManager.Create(Workbench.GetBlueprintTemplate(), 1, 0UL); obj.blueprintTarget = this.pendingBlueprint.itemid; this.creatingBlueprint = true; if (!obj.MoveToContainer(this.inventory, 0, true)) { obj.Drop(this.GetDropPosition(), this.GetDropVelocity(), (Quaternion)null); } this.creatingBlueprint = false; if (this.experimentSuccessEffect.isValid) { Effect.server.Run(this.experimentSuccessEffect.resourcePath, (BaseEntity)this, 0U, Vector3.get_zero(), Vector3.get_zero(), (Connection)null, false); } } this.SetFlag(BaseEntity.Flags.On, false, false, true); this.pendingBlueprint = (ItemDefinition)null; this.inventory.SetLocked(false); this.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); }
public void ExperimentComplete() { Item experimentResourceItem = this.GetExperimentResourceItem(); int scrapForExperiment = this.GetScrapForExperiment(); if (this.pendingBlueprint == null) { Debug.LogWarning("Pending blueprint was null!"); } if (experimentResourceItem != null && experimentResourceItem.amount >= scrapForExperiment && this.pendingBlueprint != null) { experimentResourceItem.UseItem(scrapForExperiment); Item item = ItemManager.Create(Workbench.GetBlueprintTemplate(), 1, (ulong)0); item.blueprintTarget = this.pendingBlueprint.itemid; this.creatingBlueprint = true; if (!item.MoveToContainer(this.inventory, 0, true)) { item.Drop(this.GetDropPosition(), this.GetDropVelocity(), new Quaternion()); } this.creatingBlueprint = false; if (this.experimentSuccessEffect.isValid) { Effect.server.Run(this.experimentSuccessEffect.resourcePath, this, 0, Vector3.zero, Vector3.zero, null, false); } } base.SetFlag(BaseEntity.Flags.On, false, false, true); this.pendingBlueprint = null; this.inventory.SetLocked(false); base.SendNetworkUpdate(BasePlayer.NetworkQueue.Update); }