protected override void  OnCollision(EntityId targetEntityId, Vec3 hitPos, Vec3 dir, short materialId, Vec3 contactNormal)
        {
            if (!Destroyed && targetEntityId != 0)
            {
                var breakageParams = new BreakageParameters();
                breakageParams.type = BreakageType.Destroy;
                breakageParams.fParticleLifeTime = 7.0f;
                breakageParams.bMaterialEffects  = true;
                breakageParams.nGenericCount     = 0;
                breakageParams.bForceEntity      = false;
                breakageParams.bOnlyHelperPieces = false;

                breakageParams.fExplodeImpulse = 10.0f;
                breakageParams.vHitImpulse     = dir;
                breakageParams.vHitPoint       = hitPos;

                Physics.Break(breakageParams);

                SetSlotFlags(GetSlotFlags() | EntitySlotFlags.Render);

                Destroyed = true;
            }
        }
Example #2
0
 public void Break(BreakageParameters breakageParams)
 {
     NativeEntityMethods.BreakIntoPieces(Owner.GetIEntity(), 0, 0, breakageParams);
 }
Example #3
0
 internal static extern void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Example #4
0
 public void Break(BreakageParameters breakageParams)
 {
     EntityInterop.BreakIntoPieces(Owner.EntityHandle, 0, 0, breakageParams);
 }
Example #5
0
 extern internal static void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Example #6
0
 public static extern void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Example #7
0
 public void Break(BreakageParameters breakageParams)
 {
     EntityInterop.BreakIntoPieces(Owner.EntityHandle, 0, 0, breakageParams);
 }
Example #8
0
 public void Break(BreakageParameters breakageParams)
 {
     NativeEntityMethods.BreakIntoPieces(Owner.GetIEntity(), 0, 0, breakageParams);
 }