/// <summary> /// Generates an encounter from the given encounter elements and adds game objects to vacant cells as needed. /// </summary> /// <param name="cells">The cells. These can be vacant or unvacant.</param> /// <param name="encounter">The encounter to generate objects from.</param> /// <returns>A collection of generated elements</returns> public IEnumerable <GameObjectBase> GenerateEncounter(IEnumerable <GameCell> cells, EncounterData encounter, IRandomization randomization) { var encounterElements = GenerateElementsForEncounter(encounter, randomization); return(AddEncounterElementsToCells(encounterElements, cells, randomization)); }