コード例 #1
0
    public override void Execute()
    {
        if (RequareTime > 1)
        {
            RequareTime--;
            _clock.text = RequareTime.ToString();
        }
        else
        {
            foreach (Survivor selSurv in SelSurv)
            {
                if (selSurv.SpecBonus.LeaderBonus >= 1)
                {
                    for (int i = 0; i < CurLoc.SpotSurv.Count; i++)
                    {
                        MainScript.AddSurvivor(CurLoc.SpotSurv[i]);
                    }

                    break;
                }
            }

            CurLoc.SpotSurv.Clear();

            for (int i = 0; i < SelSurv.Count; i++)
            {
                SelSurv[i].Unlock();
            }

            if (Danger != 0)
            {
                int chance = Random.Range(0, 100);

                if (chance > 0 && chance < Danger)
                {
                    int tempRange = Random.Range(0, SelSurv.Count);
                    SelSurv[tempRange].Status = "Die at Reacruting survivors mission";
                    SelSurv[tempRange].Die();
                }
            }

            foreach (Survivor surv in SelSurv)
            {
                if (surv.Alive)
                {
                    surv.Train(new SpecialisationBonus(1, 0, 0, 0, 0));
                }
            }

            _clock.transform.parent.gameObject.SetActive(false);
            MainScript.ActiveMissions.Remove(this);
        }
    }