-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathJobRole.cs
33 lines (31 loc) · 1.15 KB
/
JobRole.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
namespace JobIcons
{
internal enum JobRole : uint
{
Tank = 1,
Heal = 2,
Melee = 3,
Ranged = 4,
Magical = 5,
Crafter = 6,
Gatherer = 7,
}
internal static class JobRoleExtensions
{
public static Job[] GetJobs(this JobRole role)
{
return role switch
{
JobRole.Tank => new Job[] { Job.GLA, Job.MRD, Job.PLD, Job.WAR, Job.DRK, Job.GNB },
JobRole.Heal => new Job[] { Job.CNJ, Job.AST, Job.WHM, Job.SCH },
JobRole.Melee => new Job[] { Job.PGL, Job.LNC, Job.MNK, Job.DRG, Job.ROG, Job.NIN, Job.SAM },
JobRole.Ranged => new Job[] { Job.ARC, Job.BRD, Job.MCH, Job.DNC },
JobRole.Magical => new Job[] { Job.THM, Job.BLM, Job.ACN, Job.SMN, Job.RDM, Job.BLU },
JobRole.Crafter => new Job[] { Job.CRP, Job.BSM, Job.ARM, Job.GSM, Job.LTW, Job.WVR, Job.ALC, Job.CUL },
JobRole.Gatherer => new Job[] { Job.MIN, Job.BTN, Job.FSH },
_ => throw new ArgumentException($"Unknown jobRoleID {(int)role}"),
};
}
}
}