//set up values
    public void Inicialize(Ring[] l1, Ring[] l2, float size, float apothem, GameController gm)
    {
        /*function called by tha game controller to init and start the game*/
        ringSpace1 = l1;
        ringSpace2 = l2;

        this.distance = distance;
        this.speed = size;
        this.gm = gm;
        tunnelsSideSize = size;

        currentTunnelNumber = 0;
        currentRingNumber = 0;
        tunnelsNSides = ringSpace1 [0].Nsides;
        track = tunnelsNSides / 2;
        turnInc = 0;
        turning = false;
        activeBullet = false;
        currentRing = ringSpace1 [currentRingNumber];
        nextPathPoint = currentRing.SideEndCenter(track);
        //player (ship) init
        gameObject.transform.position = currentRing.SideStartCenter (track);
        gameObject.transform.rotation = currentRing.Rotation;
        gameObject.transform.localScale = new Vector3 (tunnelsSideSize*0.5f/scaleRatio,tunnelsSideSize*0.5f/scaleRatio,tunnelsSideSize*0.5f/scaleRatio);
        //camera init
        camera = gameObject.transform.FindChild("PlayerCam1").gameObject;
        camera.transform.localPosition = new Vector3 (0, +0.8f*(scaleRatio/tunnelsSideSize),-0.25f*(scaleRatio/tunnelsSideSize));
        camera.GetComponent<Camera> ().nearClipPlane = 0.01f;
        camera.transform.localRotation = Quaternion.AngleAxis (5, Vector3.right);
    }