Пример #1
0
    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);
    }
Пример #2
0
    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);
    }