private void StoreSpiders()
    {
        var spiderCounts = GetObjCounts(_spiderParent);

        for (int i = 0; i < _numSections; i++)
        {
            Level.Caves[i].Spiders = new SpiderPool.SpiderType[spiderCounts[i]];
        }

        int[] spiderNum = new int[_numSections];
        foreach (Transform spider in _spiderParent)
        {
            int index = Mathf.RoundToInt(spider.position.x / _tileSizeX);

            SpiderPool.SpiderType newSpider = Level.Caves[index].Spiders[spiderNum[index]];
            newSpider.SpawnTransform = ProduceSpawnTf(spider, index);
            newSpider.SpiderSwings   = spider.GetComponent <SpiderClass>().SwingingSpider;
            Level.Caves[index].Spiders[spiderNum[index]] = newSpider;
            spiderNum[index]++;
        }
    }
    public LevelObjectHandler.CaveListType RandomiseObstacleList()
    {
        StalPool.StalType[]     StalList   = new StalPool.StalType[0];
        ShroomPool.ShroomType[] ShroomList = new ShroomPool.ShroomType[0];
        MothPool.MothType[]     MothList   = new MothPool.MothType[0];
        SpiderPool.SpiderType[] SpiderList = new SpiderPool.SpiderType[0];
        WebPool.WebType[]       WebList    = new WebPool.WebType[0];

        const int NumStals   = 8;
        int       LowerIndex = 0;
        int       UpperIndex = 3;

        bool bTop = (Random.Range(0, 2) == 1);

        int InARow = 1;

        int i = 0;

        i = Random.Range(LowerIndex, UpperIndex);
        while ((i < NumStals) && (i < NumStals))
        {
            if (!bTop && (i / 2 - Mathf.Floor(i / 2) < 0.4) && Random.Range(0f, 1f) <= 0.47f)
            {
                ShroomList[0].SpawnTransform.Pos      = new Vector2(0, 0);
                ShroomList[0].SpawnTransform.Rotation = new Quaternion();
                ShroomList[0].SpawnTransform.Scale    = new Vector2(1f, 1f);
                ShroomList[0].SpecialEnabled          = false;
            }
            else
            {
                StalList[0].SpawnTranform.Pos      = new Vector2(0, 0);
                StalList[0].SpawnTranform.Rotation = new Quaternion();
                StalList[0].SpawnTranform.Scale    = new Vector2(1f, 1f);
                StalList[0].DropEnabled            = true;
            }

            int t = Random.Range(0, 2);
            if ((t == 1 && bTop) || t == 0 && !bTop)
            {
                if (InARow == 2)
                {
                    InARow     = 1;
                    LowerIndex = i + 3;
                    UpperIndex = i + 5;
                }
                else
                {
                    LowerIndex = i + 1;
                    UpperIndex = i + 2;
                    InARow++;
                }
            }
            else
            {
                bTop       = !bTop;
                LowerIndex = i + 3;
                UpperIndex = i + 5;
                InARow     = 1;
            }
            i = Random.Range(LowerIndex, UpperIndex);
        }

        LevelObjectHandler.CaveListType ObjectList;
        ObjectList.StalList     = StalList;
        ObjectList.MushroomList = ShroomList;
        ObjectList.MothList     = MothList;
        ObjectList.SpiderList   = SpiderList;
        ObjectList.WebList      = WebList;
        ObjectList.TriggerList  = null;
        ObjectList.NpcList      = null;

        return(ObjectList);
    }