public static void Prefix(ref global::MetroTrackBridgeAI __instance, ushort nodeID, out MetroTrackBridgePillarPatcherState?__state) { var skin = NetworkSkinManager.NodeSkins[nodeID]; if (skin != null) { __state = new MetroTrackBridgePillarPatcherState(__instance); __instance.m_bridgePillarInfo = skin.m_bridgePillarInfo; __instance.m_middlePillarInfo = skin.m_middlePillarInfo; } else { __state = null; } }
public MetroTrackBridgePillarPatcherState(global::MetroTrackBridgeAI netAi) { BridgePillarInfo = netAi.m_bridgePillarInfo; MiddlePillarInfo = netAi.m_middlePillarInfo; }
public void Restore(global::MetroTrackBridgeAI netAi) { netAi.m_bridgePillarInfo = BridgePillarInfo; netAi.m_middlePillarInfo = MiddlePillarInfo; }
public static void Postfix(ref global::MetroTrackBridgeAI __instance, ref MetroTrackBridgePillarPatcherState?__state) { __state?.Restore(__instance); }