public static void Revert(NetInfo info, TerrainSurfacePatcherState state) { if (info == null || (state & TerrainSurfacePatcherState.Modified) == TerrainSurfacePatcherState.None) { return; } info.m_createPavement = (state & TerrainSurfacePatcherState.Pavement) != TerrainSurfacePatcherState.None; info.m_createGravel = (state & TerrainSurfacePatcherState.Gravel) != TerrainSurfacePatcherState.None; info.m_createRuining = (state & TerrainSurfacePatcherState.Ruined) != TerrainSurfacePatcherState.None; info.m_clipTerrain = (state & TerrainSurfacePatcherState.ClipTerrain) != TerrainSurfacePatcherState.None; }
public static void Prefix(ref global::NetNode __instance, ushort nodeID, out TerrainSurfacePatcherState __state) { // Apply the ground texture patch to the NetInfo of the node // This is important for loose road ends without junctions __state = TerrainSurfacePatcher.Apply(__instance.Info, NetworkSkinManager.NodeSkins[nodeID]); }
public static void Postfix(ref global::NetNode __instance, TerrainSurfacePatcherState __state) { TerrainSurfacePatcher.Revert(__instance.Info, __state); }
public static void Prefix(ref global::NetSegment __instance, ushort segmentID, out TerrainSurfacePatcherState __state) { __state = TerrainSurfacePatcher.Apply(__instance.Info, NetworkSkinManager.SegmentSkins[segmentID]); }