Exemplo n.º 1
0
    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));
        }
    }