Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Sandbox.Common;
- using Sandbox.Common.Components;
- using Sandbox.Common.ObjectBuilders;
- using Sandbox.Definitions;
- using Sandbox.Engine;
- using Sandbox.Engine.Physics;
- using Sandbox.Engine.Multiplayer;
- using Sandbox.Game;
- using Sandbox.Game.Entities;
- using Sandbox.ModAPI;
- using Sandbox.ModAPI.Interfaces;
- using VRageMath;
- using VRage;
- using System.Text.RegularExpressions;
- using VRage.Game.Components;
- using VRage.ObjectBuilders;
- using VRage.ModAPI;
- using Sandbox.Game.Entities;
- using Sandbox.Game.Entities.Blocks;
- using Sandbox.Game.Entities.Cube;
- namespace Incinerator
- {
- [MyEntityComponentDescriptor(typeof(MyObjectBuilder_CargoContainer), "IncineratorLarge", "IncineratorSmall")]
- public class Incinerator: MyGameLogicComponent
- {
- private MyObjectBuilder_EntityBase objectBuilder;
- private MyCubeBlock block;
- public override void Init(MyObjectBuilder_EntityBase objectBuilder)
- {
- this.objectBuilder = objectBuilder;
- block = Entity as MyCubeBlock;
- Entity.NeedsUpdate = MyEntityUpdateEnum.EACH_100TH_FRAME;
- }
- public override void UpdateBeforeSimulation100()
- {
- if (block == null)
- return;
- MyFixedPoint capacity = block.CubeGrid.GridSizeEnum == MyCubeSize.Small ? 1000 : 25000;
- List<MyPhysicalInventoryItem> items = block.Inventory.GetItems().ToList();
- foreach (var item in items) {
- MyFixedPoint amount = MyFixedPoint.Min(capacity, item.Amount);
- block.Inventory.RemoveItems(item.ItemId, amount);
- capacity -= amount;
- if (capacity == 0)
- break;
- }
- }
- public override MyObjectBuilder_EntityBase GetObjectBuilder(bool copy)
- {
- return objectBuilder;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement