// Token: 0x06000BF2 RID: 3058 RVA: 0x0003A288 File Offset: 0x00038488
        public static GameObject GetPreviousSpectateGameObject(NetworkUser viewer, GameObject currentGameObject)
        {
            ReadOnlyCollection <CharacterBody> readOnlyCollection = CharacterBody.readOnlyInstancesList;

            if (readOnlyCollection.Count == 0)
            {
                return(null);
            }
            CharacterBody characterBody = currentGameObject ? currentGameObject.GetComponent <CharacterBody>() : null;
            int           num           = characterBody ? readOnlyCollection.IndexOf(characterBody) : 0;

            for (int i = num - 1; i >= 0; i--)
            {
                if (CameraRigController.CanUserSpectateBody(viewer, readOnlyCollection[i]))
                {
                    return(readOnlyCollection[i].gameObject);
                }
            }
            for (int j = readOnlyCollection.Count - 1; j >= num; j--)
            {
                if (CameraRigController.CanUserSpectateBody(viewer, readOnlyCollection[j]))
                {
                    return(readOnlyCollection[j].gameObject);
                }
            }
            return(null);
        }