Box2D.Dynamics.Island.Init C# (CSharp) Method

Init() public method

public Init ( int bodyCapacity, int contactCapacity, int jointCapacity, IContactListener listener ) : void
bodyCapacity int
contactCapacity int
jointCapacity int
listener IContactListener
return void
        public void Init(int bodyCapacity, int contactCapacity, int jointCapacity, IContactListener listener)
        {
            // Console.WriteLine("Initializing Island");
            BodyCapacity = bodyCapacity;
            ContactCapacity = contactCapacity;
            JointCapacity = jointCapacity;
            BodyCount = 0;
            ContactCount = 0;
            JointCount = 0;

            Listener = listener;

            if (Bodies == null || BodyCapacity > Bodies.Length)
            {
                Bodies = new Body[BodyCapacity];
            }
            if (Joints == null || JointCapacity > Joints.Length)
            {
                Joints = new Joint[JointCapacity];
            }
            if (Contacts == null || ContactCapacity > Contacts.Length)
            {
                Contacts = new Contact[ContactCapacity];
            }

            // dynamic array
            if (Velocities == null || BodyCapacity > Velocities.Length)
            {
                Velocity[] old = Velocities ?? new Velocity[0];
                Velocities = new Velocity[BodyCapacity];
                Array.Copy(old, 0, Velocities, 0, old.Length);
                for (int i = old.Length; i < Velocities.Length; i++)
                {
                    Velocities[i] = new Velocity();
                }
            }

            // dynamic array
            if (Positions == null || BodyCapacity > Positions.Length)
            {
                Position[] old = Positions ?? new Position[0];
                Positions = new Position[BodyCapacity];
                Array.Copy(old, 0, Positions, 0, old.Length);
                for (int i = old.Length; i < Positions.Length; i++)
                {
                    Positions[i] = new Position();
                }
            }
        }