public void AllBuild(List <EvolutionData.MonsterEvolveData> evolveDataList, CMD_Evolution evolutionWindow, Action <EvolutionData.MonsterEvolveData, int> onEvolution)
 {
     base.InitBuild();
     this.partsCount = evolveDataList.Count;
     if (base.selectCollider != null)
     {
         GUISelectPanelBSPartsUD.PanelBuildData panelBuildData = base.CalcBuildData(1, this.partsCount, 1f, 1f);
         float num    = panelBuildData.startY;
         float startX = panelBuildData.startX;
         int   num2   = 0;
         for (int i = 0; i < evolveDataList.Count; i++)
         {
             GameObject            gameObject = base.AddBuildPart();
             GUIListPartsEvolution component  = gameObject.GetComponent <GUIListPartsEvolution>();
             if (component != null)
             {
                 component.SetOriginalPos(new Vector3(startX, num, -5f));
                 component.Data = evolveDataList[i];
                 component.Initialize(onEvolution);
                 component.ShowGUI();
             }
             num -= panelBuildData.pitchH;
             num2++;
         }
         base.height = panelBuildData.lenH;
         base.InitMinMaxLocation(-1, 0f);
         base.SetActiveMargin(450f);
     }
 }