public class SysRect
    {
        public int index = -1;  //固有の番号

        public SysRect(int _index){
            index = _index;
        }
    }

    public class CManager : MonoBehaviour
    {
        const int MaxCollisionNum = 4096;
        public SysRect[] collision = new SysRect[MaxCollisionNum];
        
        //空いてるcollisionを探しindexを返す
        private int SerchCollisionIndex(){
    
            //とりあえず前方検索
            for( int i = 0; i < ; MaxCollisionNum; i++){
                if( collision[i].index < 0){
                    return i;
                }
            }
    
            //空きが最後まで無かった場合
            return -1;
        }

        private void Awake(){
            int i;
             for( i = 0 ; i < MaxCollisionNum ; i++ ){
                 collision[i] = new SysRect();
                 collision[i].index = -1;
             }
         }

        void Start()
        {
            int index;

            //空のcollisionを探す
            index = SerchCollisionIndex();
        }

    }