private RoomTemplateGrid2D GetRoomTemplate(GameObject roomTemplatePrefab) { if (prefabToRoomTemplateMapping.ContainsKey(roomTemplatePrefab)) { return(prefabToRoomTemplateMapping[roomTemplatePrefab]); } if (RoomTemplateLoaderGrid2D.TryGetRoomTemplate(roomTemplatePrefab, out var roomTemplate, out var result)) { prefabToRoomTemplateMapping.Add(roomTemplatePrefab, roomTemplate); return(roomTemplate); } Debug.LogError($"There was a problem when loading the room template \"{roomTemplatePrefab.name}\":"); foreach (var error in result.Errors) { Debug.LogError($"- {error}"); } throw new ConfigurationException("Please fix all the errors above and try again"); }
/// <summary> /// Computes a room room template from a given room template game object. /// </summary> /// <param name="roomTemplatePrefab"></param> /// <param name="roomTemplate"></param> /// <param name="result"></param> /// <returns></returns> public static bool TryGetRoomTemplate(GameObject roomTemplatePrefab, out RoomTemplateGrid2D roomTemplate, out ActionResult result) { return(RoomTemplateLoaderGrid2D.TryGetRoomTemplate(roomTemplatePrefab, out roomTemplate, out result)); }