Пример #1
0
        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);
        }
Пример #2
0
        internal static void PrepareScene()
        {
            if (ModUtils.IsNonGameScene())
            {
                return;
            }

            CleanupManager.PrepareCleanables();
            RepairManager.PrepareRepairables();
        }
Пример #3
0
        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;
        }
Пример #4
0
 public static void Prefix(SaveSlotType gameMode, string name, string sceneSaveName)
 {
     RepairManager.SaveRepairs(gameMode, name, sceneSaveName);
 }
Пример #5
0
 public static void Prefix(string name, string sceneSaveName)
 {
     RepairManager.LoadRepairs(name, sceneSaveName);
 }