private IEnumerator OnShowExtra() { foreach (var data in ExtraRatios) { List <GroundController> org = new List <GroundController> (); org.Add(data.gc); recJobRatios [data.extraJob] += data.upRatio; for (int i = 0; i < recAllRatioData.Count; i++) { if (recAllRatioData [i].start.name == data.linkData.ElementAt(0).Key.name&& recAllRatioData [i].end.name == data.linkData.ElementAt(0).Value.name) { RaycastData raycastdata = new RaycastData(); raycastdata = recAllRatioData [i]; raycastdata.ratio += data.upRatio; recAllRatioData [i] = raycastdata; } } for (int i = 0; i < fightController.players.Length; i++) { if (fightController.GetJob("P", i) == data.extraJob) { GroundSEController gse = SEPool.Dequeue(); gse.SetExtraSE(org, playerButtonPos [i], i, data.upRatio); gse.onRecycle = RecycleExtraItem; gse.onExtraUp = ExtraRatioUp; SEingPool.Enqueue(gse); AddCanAttack(i); } } } unShowed = SEingPool.Count; while (SEingPool.Count > 0) { GroundSEController gse = SEingPool.Dequeue(); gse.gameObject.SetActive(true); gse.Run(); yield return(new WaitForSeconds(0.2f)); } }