public static void Patch() { Version = QuickLogger.GetAssemblyVersion(Assembly.GetExecutingAssembly()); QuickLogger.Info($"Started patching. Version: {Version}"); #if DEBUG QuickLogger.DebugLogsEnabled = true; QuickLogger.Debug("Debug logs enabled"); #endif try { GlobalBundle = FcAssetBundlesService.PublicAPI.GetAssetBundleByName(FcAssetBundlesService.PublicAPI.GlobalBundleName); GlobalBundle.LoadAllAssets <Sprite>(); if (GlobalBundle == null) { QuickLogger.Error("Global Bundle has returned null stopping patching"); throw new FileNotFoundException("Bundle failed to load"); } Configuration = Mod.LoadConfiguration(); AddItemsToTechFabricator(); SetWater(); MiniFountainFilterBuildable.PatchSMLHelper(); QuickLogger.Info("Finished patching"); } catch (Exception ex) { QuickLogger.Error(ex); } }
public override bool FindAllComponents() { #region Canvas var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject; if (canvasGameObject == null) { QuickLogger.Error("Canvas cannot be found"); return(false); } canvasGameObject.gameObject.GetComponent <GraphicRaycaster>().ignoreReversedGraphics = false; #endregion #region Home var home = canvasGameObject.FindChild("Home")?.gameObject; if (home == null) { QuickLogger.Error("Unable to find Home GameObject"); return(false); } #endregion #region ColorPicker var colorPicker = canvasGameObject.FindChild("ColorPicker")?.gameObject; if (colorPicker == null) { QuickLogger.Error("Unable to find colorPicker GameObject"); return(false); } #endregion var takeWaterResult = InterfaceHelpers.CreateButton(home, "Button_1", "takeWaterBTN", InterfaceButtonMode.Background, _startColor, _hoverColor, OnButtonClick, out var takeWaterButton); takeWaterButton.TextLineOne = "Take Water"; if (!takeWaterResult) { return(false); } _startButton = takeWaterButton; var colorPickerResult = InterfaceHelpers.CreateButton(home, "Paint_BTN", "colorPickerBTN", InterfaceButtonMode.Background, OnButtonClick, out var colorPickerButton); colorPickerButton.TextLineOne = "Color Picker Page"; if (!colorPickerResult) { return(false); } var fuelTankResult = InterfaceHelpers.CreateButton(home, "Button_2", "waterContainerBTN", InterfaceButtonMode.Background, _startColor, _hoverColor, OnButtonClick, out var fuelTankButton); fuelTankButton.TextLineOne = !QPatch.Configuration.AutoGenerateMode ? "Take Water Bottle" : "Open Water Container"; if (!fuelTankResult) { return(false); } var homeBTN = InterfaceHelpers.CreateButton(colorPicker, "Home_BTN", "homeBTN", InterfaceButtonMode.Background, OnButtonClick, out var homeButton); homeButton.TextLineOne = "Home Page"; homeButton.OnInterfaceButton = SetOnInterfaceButton; if (!homeBTN) { return(false); } var nextBTN = InterfaceHelpers.CreatePaginator(colorPicker, "NextPage", 1, _colorPage.ChangeColorPageBy, out var nextButton); nextButton.TextLineOne = "Next Page"; if (!nextBTN) { return(false); } var prevBTN = InterfaceHelpers.CreatePaginator(colorPicker, "PrevPage", -1, _colorPage.ChangeColorPageBy, out var prevButton); prevButton.TextLineOne = "Previous Page"; if (!prevBTN) { return(false); } var gridResult = InterfaceHelpers.FindGameObject(colorPicker, "Grid", out var grid); if (!gridResult) { return(false); } _grid = grid; var paginatorResult = InterfaceHelpers.FindGameObject(colorPicker, "Paginator", out var paginator); if (!paginatorResult) { return(false); } _paginator = paginator.GetComponent <Text>(); var button1ProgressResult = InterfaceHelpers.FindGameObject(home, "Button_1_Progress", out var button1Progress); if (!button1ProgressResult) { return(false); } _button1Progress = button1Progress.GetComponent <Image>(); var button1ProgressNumResult = InterfaceHelpers.FindGameObject(home, "Button_1_Progress_Number", out var button1ProgressNumber); if (!button1ProgressNumResult) { return(false); } _button1ProgressNumber = button1ProgressNumber.GetComponent <Text>(); _button1ProgressNumber.text = $"(0%)"; var button2ProgressResult = InterfaceHelpers.FindGameObject(home, "Button_2_Progress", out var button2Progress); if (!button2ProgressResult) { return(false); } _button2Progress = button2Progress.GetComponent <Image>(); if (!QPatch.Configuration.AutoGenerateMode) { _button2Progress.fillAmount = 1; } var button2ProgressNumResult = InterfaceHelpers.FindGameObject(home, "Button_2_Amount_Number", out var button2ProgressNumber); if (!button2ProgressNumResult) { return(false); } _button2ProgressNumber = button2ProgressNumber.GetComponent <Text>(); _button2ProgressNumber.text = QPatch.Configuration.AutoGenerateMode ? $"0 {MiniFountainFilterBuildable.Bottles()}" : string.Empty; //var versionResult = InterfaceHelpers.FindGameObject(canvasGameObject, "Version", out var version); //if (!versionResult) //{ // return false; //} //var versionLbl = version.GetComponent<Text>(); //versionLbl.text = $"{MiniFountainFilterBuildable.Version()}: {QPatch.Version}"; return(true); }