Quest GenerateQuest(GraphVertex[] path, int index) { if (path == null) { GD.Print("Path is null, returning."); return(null); } Properties properties; Quest.Objective[] objectives = new Quest.Objective[path.Length]; Quest.Option[] options = new Quest.Option[path.Length]; for (int i = 0; i < path.Length; i++) { properties = path[i].Region.P0; objectives[i] = GenerateObjective(properties); options[i] = GenerateOption(properties); } Quest quest = new Quest(path, objectives, options, index); quests.Add(quest); return(quest); }
Quest.Option GenerateOption(Properties properties) { Quest.Option option = Quest.Option.None; if (properties == null) { return(option); } if (properties.Cover > 5 && properties.Enemies > 0) { option = Quest.Option.Stealth; } return(option); }