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); } }