54 lines
2.2 KiB
C#
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 "Шахтёры (золото)";
|
|
}
|
|
}
|
|
}
|