/// <param name="drillEntity">Entity to which this drill is attached.</param> /// <param name="inventoryCollectionRatio">Ratio (0 to 1) of mined material that will be stored in inventory (if one is assigned), rest will be thrown out in space.</param> public MyDrillBase( MyEntity drillEntity, MyParticleEffectsIDEnum dustEffectId, MyParticleEffectsIDEnum dustEffectStonesId, MyParticleEffectsIDEnum sparksEffectId, MyDrillSensorBase sensor, MyDrillCutOut cutOut, float animationSlowdownTimeInSeconds, float floatingObjectSpawnOffset, float floatingObjectSpawnRadius, float inventoryCollectionRatio = 0f) { m_drillEntity = drillEntity; m_sensor = sensor; m_cutOut = cutOut; m_dustEffectId = dustEffectId; m_dustEffectStonesId = dustEffectStonesId; m_sparksEffectId = sparksEffectId; m_animationSlowdownTimeInSeconds = animationSlowdownTimeInSeconds; m_floatingObjectSpawnOffset = floatingObjectSpawnOffset; m_floatingObjectSpawnRadius = floatingObjectSpawnRadius; Debug.Assert(inventoryCollectionRatio >= 0f && inventoryCollectionRatio <= 1f, "Inventory collection ratio must be in range <0;1>"); m_inventoryCollectionRatio = (MyFixedPoint)inventoryCollectionRatio; m_drilledMaterialBuffer = new Dictionary <MyVoxelMaterialDefinition, int>(); m_soundEmitter = new MyEntity3DSoundEmitter(m_drillEntity); }
public override void Init(MyObjectBuilder_EntityBase builder) { base.Init(builder); if (PhysicalObject != null) { PhysicalObject.GunEntity = builder; } m_sensor = new MyDrillSensorRayCast(0f, 1.8f); PowerReceiver = new MyPowerReceiver( MyConsumerGroupEnum.Utility, false, MyEnergyConstants.REQUIRED_INPUT_ENGINEERING_TOOL, CalculateRequiredPower); m_soundEmitter = new MyEntity3DSoundEmitter(this); }
public override void Init(MyObjectBuilder_EntityBase builder) { base.Init(builder); if (PhysicalObject != null) { PhysicalObject.GunEntity = builder; } m_sensor = new MyDrillSensorRayCast(0f, 1.8f); var sinkComp = new MyResourceSinkComponent(); sinkComp.Init( MyStringHash.GetOrCompute("Utility"), MyEnergyConstants.REQUIRED_INPUT_ENGINEERING_TOOL, CalculateRequiredPower); SinkComp = sinkComp; m_soundEmitter = new MyEntity3DSoundEmitter(this); }
public MyCasterComponent(MyDrillSensorBase caster) { m_caster = caster; }