Files
MVP1/Assets/Scripts/Modules/Core/WorkJob.cs
T

54 lines
2.2 KiB
C#

// Профессии рабочих. Рабочего держит модуль Населения, добычу считает модуль Экономики.
// Числовые значения НЕ менять: они записаны в сохранениях.
public enum WorkJob
{
Woodcutter = 0, // лесоруб -> дерево (Лесопилка)
Farmer = 1, // фермер -> еда (Ферма)
Stonecutter = 2, // каменотёс -> камень (Каменоломня)
MinerIron = 3, // шахтёр -> металл (Шахта)
MinerGold = 4 // шахтёр -> золото (Золотой рудник)
}
public static class WorkJobs
{
public const int Count = 5;
public static ResourceType Resource(WorkJob job)
{
switch (job)
{
case WorkJob.Woodcutter: return ResourceType.Wood;
case WorkJob.Farmer: return ResourceType.Food;
case WorkJob.Stonecutter: return ResourceType.Stone;
case WorkJob.MinerIron: return ResourceType.Iron;
default: return ResourceType.Gold;
}
}
// Какая профессия добывает этот ресурс. false -- ресурс не добывается рабочими (люди, кристаллы, сила)
public static bool TryFromResource(ResourceType type, out WorkJob job)
{
switch (type)
{
case ResourceType.Wood: job = WorkJob.Woodcutter; return true;
case ResourceType.Food: job = WorkJob.Farmer; return true;
case ResourceType.Stone: job = WorkJob.Stonecutter; return true;
case ResourceType.Iron: job = WorkJob.MinerIron; return true;
case ResourceType.Gold: job = WorkJob.MinerGold; return true;
default: job = WorkJob.Woodcutter; return false;
}
}
public static string Name(WorkJob job)
{
switch (job)
{
case WorkJob.Woodcutter: return "Лесорубы";
case WorkJob.Farmer: return "Фермеры";
case WorkJob.Stonecutter: return "Каменотёсы";
case WorkJob.MinerIron: return "Шахтёры (металл)";
default: return "Шахтёры (золото)";
}
}
}