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;
            }
        }
Esempio n. 2
0
 public void Break(BreakageParameters breakageParams)
 {
     NativeEntityMethods.BreakIntoPieces(Owner.GetIEntity(), 0, 0, breakageParams);
 }
Esempio n. 3
0
 internal static extern void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Esempio n. 4
0
 public void Break(BreakageParameters breakageParams)
 {
     EntityInterop.BreakIntoPieces(Owner.EntityHandle, 0, 0, breakageParams);
 }
Esempio n. 5
0
 extern internal static void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Esempio n. 6
0
 public static extern void BreakIntoPieces(IntPtr ptr, int slot, int piecesSlot, BreakageParameters breakageParams);
Esempio n. 7
0
 public void Break(BreakageParameters breakageParams)
 {
     EntityInterop.BreakIntoPieces(Owner.EntityHandle, 0, 0, breakageParams);
 }
Esempio n. 8
0
 public void Break(BreakageParameters breakageParams)
 {
     NativeEntityMethods.BreakIntoPieces(Owner.GetIEntity(), 0, 0, breakageParams);
 }