private static bool Prefix(BreakDown __instance, string text) { if (text == null || !BetterPlacing.IsPlacableFurniture(__instance)) { return(true); } ModBreakDownSaveData saveData = Utils.DeserializeObject <ModBreakDownSaveData>(text); if (saveData.m_HasBeenBrokenDown) { return(true); } __instance.gameObject.SetActive(true); BetterPlacing.PreparePlacableFurniture(__instance.gameObject); GameObject root = BetterPlacing.getFurnitureRoot(__instance.gameObject); root.transform.position = saveData.m_Position; if (saveData.m_Rotation.x != 0 || saveData.m_Rotation.y != 0 || saveData.m_Rotation.z != 0) { root.transform.rotation = Quaternion.Euler(saveData.m_Rotation); } return(false); }
public static bool Prefix(PlayerManager __instance) { var gameObject = __instance.m_InteractiveObjectUnderCrosshair; if (BetterPlacing.IsPlaceableFurniture(gameObject)) { BetterPlacing.PreparePlacableFurniture(gameObject); GameObject root = BetterPlacing.getFurnitureRoot(gameObject); __instance.StartPlaceMesh(root, 5f, PlaceMeshFlags.None); return(false); } return(true); }