internal override bool PerformRepair() { if (string.IsNullOrEmpty(ContainerGuid)) { ContainerGuid = System.Guid.NewGuid().ToString(); } GameObject clonedTemplate = Instantiate(Template, ParentContainer.transform); clonedTemplate.transform.localPosition = TargetPosition; clonedTemplate.transform.localRotation = TargetRotation; Destroy(clonedTemplate.GetComponentInChildren <RepairableContainer>()); Container container = clonedTemplate.GetComponentInChildren <Container>(); SetGuid(container.gameObject, ContainerGuid); SetEmpty(container); container.enabled = true; RepairManager.AddRepairedContainer(ContainerGuid, this.gameObject, GameManager.m_ActiveScene); Destroy(this.gameObject); return(true); }
internal static void PrepareScene() { if (ModUtils.IsNonGameScene()) { return; } CleanupManager.PrepareCleanables(); RepairManager.PrepareRepairables(); }
public static void OnLoad() { AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName(); Log("Version " + assemblyName.Version); RepairManager.Initialize(); settings = HomeImprovementSettings.Load(); settings.AddToModSettings(NAME, ModSettings.MenuType.MainMenuOnly); ModComponentMapper.Implementation.OnSceneReady += PrepareScene; }
public static void Prefix(SaveSlotType gameMode, string name, string sceneSaveName) { RepairManager.SaveRepairs(gameMode, name, sceneSaveName); }
public static void Prefix(string name, string sceneSaveName) { RepairManager.LoadRepairs(name, sceneSaveName); }