Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }