public void ChangeJob(UnitJobType jobType, bool setMaxHP = false) { // TODO: Write job factory of some sort. if (TryGetJobFromType(jobType, out var job) == false) { Debug.LogError($"{name} could not change job to jobType {jobType.ToString()}"); return; } CurrentJob = job; HitPoints.ChageMaxHP(CurrentJob.maxHP, setMaxHP); OnJobChanged?.Invoke(); }
private bool TryGetJobFromType(UnitJobType jobType, out UnitJob result) { result = null; foreach (var job in jobs) { if (job.jobType != jobType) { continue; } result = job; return(true); } return(false); }