internal static void LoadConfig() { PROGRAM_VERSION = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; if (!CheckConfig()) { CreateDefaultConfigFile(); } try { Section_hotkeys = ParserHelper.GetAllKeyValuesFromSection(FILENAME, SECTIONS[0], SECTION_Hotkeys); int.TryParse(ParserHelper.GetKeyValue(FILENAME, SECTIONS[1], SECTION_Settings[0]), out int result); MAXSLOTS = result < 5 || result > 12 ? 12 : result; TEXTCOLOR = ColorHelper.GetColor(ParserHelper.GetKeyValue(FILENAME, SECTIONS[1], SECTION_Settings[1])); BZLogger.Log("Configuration loaded."); } catch { BZLogger.Error("An error occurred while loading the configuration file!"); } }
private static bool Config_Check() { BZLogger.Debug("Method call: SEzConfig.Config_Check()"); if (!File.Exists(FILENAME)) { BZLogger.Error("Configuration file open error!"); return(false); } CONFIG_VERSION = ParserHelper.GetKeyValue(FILENAME, "SlotExtenderZero", "Version"); if (!CONFIG_VERSION.Equals(PROGRAM_VERSION)) { BZLogger.Error("Configuration file version error!"); return(false); } if (!ParserHelper.IsSectionKeysExists(FILENAME, "Hotkeys", SECTION_HOTKEYS)) { BZLogger.Error("Configuration file [Hotkeys] section error!"); return(false); } if (!ParserHelper.IsSectionKeysExists(FILENAME, "Settings", SECTION_SETTINGS)) { BZLogger.Error("Configuration file [Settings] section error!"); return(false); } return(true); }
private static bool CheckConfig() { if (!File.Exists(FILENAME)) { BZLogger.Error("Configuration file open error!"); return(false); } CONFIG_VERSION = ParserHelper.GetKeyValue(FILENAME, "QuickSlotExtenderZero", "Version"); if (!CONFIG_VERSION.Equals(PROGRAM_VERSION)) { BZLogger.Error("Configuration file version error!"); return(false); } if (!ParserHelper.IsSectionKeysExists(FILENAME, SECTIONS[0], SECTION_Hotkeys)) { BZLogger.Error($"Configuration {SECTIONS[0]} section error!"); return(false); } if (!ParserHelper.IsSectionKeysExists(FILENAME, SECTIONS[1], SECTION_Settings)) { BZLogger.Error($"Configuration {SECTIONS[1]} section error!"); return(false); } return(true); }
internal static void Config_Load() { BZLogger.Debug("Method call: SEzConfig.Config_Load()"); PROGRAM_VERSION = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; if (!Config_Check()) { Config_CreateDefault(); } try { Hotkeys_Config = ParserHelper.GetAllKeyValuesFromSection(FILENAME, "Hotkeys", SECTION_HOTKEYS); int.TryParse(ParserHelper.GetKeyValue(FILENAME, "Settings", SECTION_SETTINGS[0]), out int result); MAXSLOTS = result < 5 || result > 12 ? 12 : result; EXTRASLOTS = MAXSLOTS - 4; TEXTCOLOR = ColorHelper.GetColor(ParserHelper.GetKeyValue(FILENAME, "Settings", SECTION_SETTINGS[1])); SLOT_LAYOUT = ParserHelper.GetKeyValue(FILENAME, "Settings", SECTION_SETTINGS[2]) == "Circle" ? SlotLayout.Circle : SlotLayout.Grid; isSeatruckArmsExists = BZCommon.ReflectionHelper.IsNamespaceExists("SeaTruckArms"); isSeatruckScannerModuleExists = BZCommon.ReflectionHelper.IsNamespaceExists("SeaTruckScannerModule"); BZLogger.Log("Configuration loaded."); } catch { BZLogger.Error("An error occurred while loading the configuration file!"); } }
internal static void CreateDefaultConfigFile() { BZLogger.Warn("Configuration file is missing or wrong version. Creating a new one."); try { ParserHelper.CreateDefaultConfigFile(FILENAME, PROGRAM_NAME, PROGRAM_VERSION, DEFAULT_CONFIG); } catch { BZLogger.Error("Creating new configuration file has failed!"); } }
internal static void CreateDefaultConfigFile() { BZLogger.Warn("Configuration file is missing or wrong version. Trying to create a new one."); try { ParserHelper.CreateDefaultConfigFile(FILENAME, "QuickSlotExtenderZero", PROGRAM_VERSION, DEFAULT_CONFIG); ParserHelper.AddInfoText(FILENAME, SECTIONS[1], "TextColor possible values: Red, Green, Blue, Yellow, White, Magenta, Cyan, Orange, Lime, Amethyst"); BZLogger.Log("The new configuration file was successfully created."); } catch { BZLogger.Error("An error occured while creating the new configuration file!"); } }
internal static void Config_CreateDefault() { BZLogger.Debug("Method call: SEzConfig.Config_CreateDefault()"); BZLogger.Warn("Configuration file is missing or wrong version. Trying to create a new one."); try { ParserHelper.CreateDefaultConfigFile(FILENAME, "SlotExtenderZero", PROGRAM_VERSION, DEFAULT_CONFIG); ParserHelper.AddInfoText(FILENAME, "MaxSlots possible values", "5 to 12"); ParserHelper.AddInfoText(FILENAME, "TextColor possible values", "Red, Green, Blue, Yellow, White, Magenta, Cyan, Orange, Lime, Amethyst"); ParserHelper.AddInfoText(FILENAME, "SlotLayout possible values", "Grid, Circle"); BZLogger.Log("The new configuration file was successfully created."); } catch { BZLogger.Error("An error occured while creating the new configuration file!"); } }
/* * public override IEnumerator GetGameObjectAsync(IOut<GameObject> gameObject) * { * AsyncOperationHandle<GameObject> seatruckFabricatorModuleRequest = AddressablesUtility.LoadAsync<GameObject>("WorldEntities/Tools/SeaTruckFabricatorModule.prefab"); * yield return seatruckFabricatorModuleRequest; * GameObject seatruckFabricatorModulePrefab = seatruckFabricatorModuleRequest.Result; * * _GameObject = UWE.Utils.InstantiateDeactivated(seatruckFabricatorModulePrefab); * * _GameObject.SetActive(true); * * gameObject.Set(_GameObject); * } */ public override IEnumerator GetGameObjectAsync(IOut <GameObject> gameObject) { AsyncOperationHandle <GameObject> loadRequest_01 = AddressablesUtility.LoadAsync <GameObject>("WorldEntities/Tools/SeaTruckFabricatorModule.prefab"); yield return(loadRequest_01); if (loadRequest_01.Status == AsyncOperationStatus.Failed) { BZLogger.Error("Cannot find GameObject in Resources folder at path 'WorldEntities/Tools/SeaTruckFabricatorModule.prefab'"); yield break; } GameObject seatruckFabricatorModulePrefab = loadRequest_01.Result; GameObjectClone = UWE.Utils.InstantiateDeactivated(seatruckFabricatorModulePrefab, null, Vector3.zero, Quaternion.identity); SetupScannerModule(); /* * IAssetBundleWrapperCreateRequest bundleRequest = AssetBundleManager.LoadBundleAsync("basegeneratorpieces"); * yield return bundleRequest; * IAssetBundleWrapper bundle = bundleRequest.assetBundle; * IAssetBundleWrapperRequest loadRequest_02 = bundle.LoadAssetAsync<GameObject>("Assets/Prefabs/Base/GeneratorPieces/BaseMapRoom.prefab"); * yield return loadRequest_02; * GameObject maproom = loadRequest_02.asset as GameObject; */ AsyncOperationHandle <GameObject> loadRequest_02 = AddressablesUtility.LoadAsync <GameObject>("Assets/Prefabs/Base/GeneratorPieces/BaseMapRoom.prefab"); yield return(loadRequest_02); if (loadRequest_02.Status == AsyncOperationStatus.Failed) { BZLogger.Error("Cannot find Prefab at path 'Assets/Prefabs/Base/GeneratorPieces/BaseMapRoom.prefab'"); yield break; } GameObject maproom = loadRequest_02.Result; if (!maproom) { BZLogger.Debug("Failed to load MapRoom prefab!"); yield break; } antenna = UWE.Utils.InstantiateDeactivated(maproom.transform.Find("Map_room_antenna").gameObject, GameObjectClone.transform, Vector3.zero, Quaternion.identity); AsyncOperationHandle <GameObject> loadRequest_03 = AddressablesUtility.LoadAsync <GameObject>("Submarine/Build/BatteryCharger.prefab"); yield return(loadRequest_03); GameObject batteryChargerPrefab = loadRequest_03.Result; GameObject powerSystemRoot = new GameObject("powerSystemRoot"); powerSystemRoot.transform.SetParent(GameObjectClone.transform); powerSystemRoot.transform.localPosition = new Vector3(-1.06f, -0.20f, 1.66f); powerSystemRoot.transform.localRotation = Quaternion.Euler(0, 270, 180); powerSystemRoot.transform.localScale = new Vector3(1.78f, 1.78f, 1.0f); powerSystem = UWE.Utils.InstantiateDeactivated(batteryChargerPrefab, powerSystemRoot.transform, Vector3.zero, Quaternion.identity); AsyncOperationHandle <GameObject> loadRequest_04 = AddressablesUtility.LoadAsync <GameObject>("Submarine/Build/MapRoomFunctionality.prefab"); yield return(loadRequest_04); GameObject mapRoomFunctionalityPrefab = loadRequest_04.Result; scannerUIRoot = new GameObject("scannerRoot"); scannerUIRoot.transform.SetParent(GameObjectClone.transform, false); scannerUIRoot.transform.localScale = new Vector3(1.14f, 1.14f, 1.14f); scannerUIRoot.transform.localPosition = new Vector3(1.37f, 0.07f, 1.60f); scannerUIRoot.transform.localRotation = Quaternion.Euler(0, 90, 0); scannerUI = UWE.Utils.InstantiateDeactivated(mapRoomFunctionalityPrefab.transform.Find("screen/scannerUI").gameObject, scannerUIRoot.transform, Vector3.zero, Quaternion.identity); SetupAntenna(); SetupScannerUI(); SetupPowerSystem(); GameObjectClone.AddComponent <SeaTruckSegmentListener>(); gameObject.Set(GameObjectClone); yield break; }
public override IEnumerator GetGameObjectAsync(IOut <GameObject> gameObject) { if (GameObjectClone != null) { gameObject.Set(GameObjectClone); yield break; } GameObject result; if (FragmentTemplate != TechType.None) { CoroutineTask <GameObject> request = CraftData.GetPrefabForTechTypeAsync(FragmentTemplate); yield return(request); result = request.GetResult(); if (result == null) { BZLogger.Error($"Cannot instantiate prefab from TechType '{FragmentTemplate}'!"); yield break; } GameObjectClone = UWE.Utils.InstantiateDeactivated(result); } else if (!string.IsNullOrEmpty(PrefabFileName)) { IPrefabRequest prefabRequest = PrefabDatabase.GetPrefabForFilenameAsync(PrefabFilePath); yield return(prefabRequest); if (prefabRequest.TryGetPrefab(out result)) { //GameObjectClone = UnityEngine.Object.Instantiate(result); GameObjectClone = UWE.Utils.InstantiateDeactivated(result); } else { BZLogger.Error($"Cannot find prefab in PrefabDatabase at path '{PrefabFilePath}!"); yield break; } } GameObjectClone.name = TechTypeName; PrefabIdentifier prefabIdentifier = GameObjectClone.GetComponent <PrefabIdentifier>(); prefabIdentifier.ClassId = TechTypeName; TechTag techTag = GameObjectClone.GetComponent <TechTag>(); techTag.type = TechType; ResourceTracker resourceTracker = GameObjectClone.GetComponent <ResourceTracker>(); resourceTracker.overrideTechType = TechType.Fragment; ModifyGameObject(); AddFragmentTracker(GameObjectClone); BZLogger.Debug($"GetGameObjectAsync called for fragment: {TechTypeName}"); gameObject.Set(GameObjectClone); yield break; }