public string[] GenerateAuditText() { // dialogue for ewan to say List<string> dialogue = new List<string>(); dialogue.Add( "Congratulations on upgrading your Town Hall to Level Two. You can now upgrade all your entities to Level Two as well."); dialogue.Add( "Now that I'm here, I might as well take a look at your island and resources to give you some feedback on how your going !"); var resourceTypes = Enum.GetValues(typeof(ResourceType)).Cast<ResourceType>(); foreach (ResourceType resource in resourceTypes) { ResourceStat stat = resources.GetResourceBalanceFor(resource); int supply = stat.supply; int demand = stat.demand; int overall = supply - demand; AuditLevels auditLevels = null; switch (resource) { case ResourceType.Environment: auditLevels = audit.Environment; break; case ResourceType.Food: auditLevels = audit.Food; break; case ResourceType.Power: auditLevels = audit.Power; break; case ResourceType.Shelter: auditLevels = audit.Shelter; break; } string resourceDialogue = GetAuditForResource(auditLevels, overall); dialogue.Add(resourceDialogue); } dialogue.Add( "I'll be off now. Good luck on your journey in maintaining a healthy, prosperous and sustainable island. Remember, once you hit Level Three, you can unlock some special entities..."); return dialogue.ToArray(); }
private String GetAuditForResource(AuditLevels auditLevels, float level) { // generates statement depending on how the resource is doing switch (level) { case float l when l <= -30f: return auditLevels.VeryBad; case float l when l <= 0f: return auditLevels.Bad; case float l when l <= 50f: return auditLevels.Good; default: return auditLevels.VeryGood; } }