Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public MyCasterComponent(MyDrillSensorBase caster)
 {
     m_caster = caster;
 }