public static void UnpackPathable(NanoXmlNode pathableNode, PathableResourceManager pathableResourceManager, PathingCategory rootCategory) { switch (pathableNode.Name.ToLowerInvariant()) { case ELEMENT_POITYPE_POI: var poiAttributes = AttributeBuilder.FromNanoXmlNode(pathableNode); var newPoiMarker = new Pathables.TacOMarkerPathable(poiAttributes, pathableResourceManager, rootCategory); if (newPoiMarker.SuccessfullyLoaded) { MarkersAndPathsModule.ModuleInstance._currentReader.RegisterPathable(newPoiMarker); } else { Logger.Warn("Failed to load marker: {markerInfo}", poiAttributes); } break; case ELEMENT_POITYPE_TRAIL: var trailAttributes = AttributeBuilder.FromNanoXmlNode(pathableNode); var newPathTrail = new Pathables.TacOTrailPathable(trailAttributes, pathableResourceManager, rootCategory); if (newPathTrail.SuccessfullyLoaded) { MarkersAndPathsModule.ModuleInstance._currentReader.RegisterPathable(newPathTrail); } else { Logger.Warn("Failed to load trail: {trailInfo}", trailAttributes); } break; case ELEMENT_POITYPE_ROUTE: var poiNodes = pathableNode.SelectNodes("poi"); foreach (var poiNode in poiNodes) { UnpackPathable(poiNode, pathableResourceManager, rootCategory); } break; default: Logger.Warn("Tried to pack {pathableNodeName} as a POI!", pathableNode.Name); break; } }
public static void UnpackPathable(XmlNode pathableNode, PathableResourceManager pathableResourceManager, PathingCategory rootCategory) { switch (pathableNode.Name.ToLower()) { case ELEMENT_POITYPE_POI: var newPoiMarker = new Pathables.TacOMarkerPathable(pathableNode, pathableResourceManager, rootCategory); if (newPoiMarker.SuccessfullyLoaded) { //Logger.Info("Marker {markerGuid} was successfully loaded!", newPoiMarker.Guid); Readers.MarkerPackReader.RegisterPathable(newPoiMarker); } else { Logger.Warn("Failed to load marker!"); } break; case ELEMENT_POITYPE_TRAIL: var newPathTrail = new Pathables.TacOTrailPathable(pathableNode, pathableResourceManager, rootCategory); if (newPathTrail.SuccessfullyLoaded) { //Logger.Info("Trail {trailGuid} was successfully loaded!", newPathTrail.Guid); Readers.MarkerPackReader.RegisterPathable(newPathTrail); } else { Logger.Warn("Failed to load trail!"); } break; case ELEMENT_POITYPE_ROUTE: Logger.Warn("Support for routes has not been added yet. They have been skipped."); break; default: Logger.Warn("Tried to pack {pathableNodeName} as a POI!", pathableNode.Name); break; } }