// Adds an internal spring to the character
    protected void AddInternalSpring(int springIndex, int particle1Index, int particle2Index)
    {
        internalSprings[springIndex]   = new PSBInternalSpring();
        internalSprings[springIndex].i = particle1Index;
        particles[particle1Index].nextInternalSpring          = springIndex;
        predictedParticles[particle1Index].nextInternalSpring = springIndex;

        internalSprings[springIndex].j = particle2Index;
        particles[particle2Index].prevInternalSpring          = springIndex;
        predictedParticles[particle2Index].prevInternalSpring = springIndex;

        internalSprings[springIndex].length = Mathf.Sqrt(
            (particles[particle1Index].position.x - particles[particle2Index].position.x) *
            (particles[particle1Index].position.x - particles[particle2Index].position.x) +
            (particles[particle1Index].position.y - particles[particle2Index].position.y) *
            (particles[particle1Index].position.y - particles[particle2Index].position.y)
            );
    }
    // Adds an internal spring to the character
    protected void AddInternalSpring(int springIndex, int particle1Index, int particle2Index)
    {
        internalSprings[springIndex] = new PSBInternalSpring();
        internalSprings[springIndex].i = particle1Index;
        particles[particle1Index].nextInternalSpring = springIndex;
        predictedParticles[particle1Index].nextInternalSpring = springIndex;

        internalSprings[springIndex].j = particle2Index;
        particles[particle2Index].prevInternalSpring = springIndex;
        predictedParticles[particle2Index].prevInternalSpring = springIndex;

        internalSprings[springIndex].length = Mathf.Sqrt(
            (particles[particle1Index].position.x - particles[particle2Index].position.x) *
            (particles[particle1Index].position.x - particles[particle2Index].position.x) +
            (particles[particle1Index].position.y - particles[particle2Index].position.y) *
            (particles[particle1Index].position.y - particles[particle2Index].position.y)
            );
    }