Пример #1
0
        public static void PrepareContacts()
        {
            for (int i = 0; i < _contactCount; i++)
            {
                PContactExport2D export = contactExports[i];

                //some
                if (export.id == 0)
                {
                    continue;
                }

                PContact2D c;

                if (contactDictionary.ContainsKey(export.id))
                {
                    c = contactDictionary[export.id];
                }
                else
                {
                    c = new PContact2D(export.id);
                    contactDictionary[export.id] = c;
                }

                c.Update(
                    contactPtrs[i],
                    export.count,
                    export.relativeVelocity,
                    export.isTrigger
                    );

                AddAllContactWrapper(c);
            }
        }
Пример #2
0
 public static void AppleEngineInternalState(PInternalState2D internalState)
 {
     for (int i = 0; i < internalState.contactCount; i++)
     {
         PContactExport2D export = internalState.contactExports[i];
         NativeParallel2D.AddExternalContactData(export);
     }
 }
Пример #3
0
        public static void ExportContacts()
        {
            if (!initialized)
            {
                Initialize();
            }

            _contactCount = 0;
            int index = 0;

            IntPtr contactPtr = NativeParallel2D.GetContactList(internalWorld.IntPointer);

            while (contactPtr != IntPtr.Zero)
            {
                contactPtrs[index] = contactPtr;
                PContactExport2D export = contactExports[index];

                contactPtr            = NativeParallel2D.ExportAndReturnNextContact(contactPtr, ref export);
                contactExports[index] = export;
                index++;
            }

            _contactCount = index;
        }
Пример #4
0
 internal static extern void AddExternalContactData(PContactExport2D contactExport);
Пример #5
0
 internal static extern IntPtr ExportAndReturnNextContact(IntPtr contactHandle, ref PContactExport2D export);