From 6539260f14ea49194a0782744a912f2a9c5abc8c Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Thu, 25 Aug 2022 19:33:19 -0400 Subject: [PATCH] Share function --- .../Builder/Atmosphere/CloudsBuilder.cs | 14 +--------- NewHorizons/Builder/Body/RingBuilder.cs | 13 +--------- NewHorizons/Builder/Props/TornadoBuilder.cs | 26 ++----------------- NewHorizons/Utility/NewHorizonExtensions.cs | 14 ++++++++++ 4 files changed, 18 insertions(+), 49 deletions(-) diff --git a/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs b/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs index 89bd924f..054e170b 100644 --- a/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs +++ b/NewHorizons/Builder/Atmosphere/CloudsBuilder.cs @@ -85,19 +85,7 @@ namespace NewHorizons.Builder.Atmosphere fluidCLFV._layer = 5; fluidCLFV._priority = 1; fluidCLFV._density = 1.2f; - - var fluidType = FluidVolume.Type.CLOUD; - - try - { - fluidType = (FluidVolume.Type)Enum.Parse(typeof(FluidVolume.Type), Enum.GetName(typeof(FluidType), atmo.clouds.fluidType).ToUpper()); - } - catch (Exception ex) - { - Logger.LogError($"Couldn't parse fluid volume type [{atmo.clouds.fluidType}]:\n{ex}"); - } - - fluidCLFV._fluidType = fluidType; + fluidCLFV._fluidType = atmo.clouds.fluidType.ConvertToOW(FluidVolume.Type.CLOUD); fluidCLFV._allowShipAutoroll = true; fluidCLFV._disableOnStart = false; diff --git a/NewHorizons/Builder/Body/RingBuilder.cs b/NewHorizons/Builder/Body/RingBuilder.cs index 3bdabd02..c89318f0 100644 --- a/NewHorizons/Builder/Body/RingBuilder.cs +++ b/NewHorizons/Builder/Body/RingBuilder.cs @@ -46,18 +46,7 @@ namespace NewHorizons.Builder.Body trigger._shape = ringShape; var sfv = ringVolume.AddComponent(); - var fluidType = FluidVolume.Type.NONE; - - try - { - fluidType = (FluidVolume.Type)Enum.Parse(typeof(FluidVolume.Type), Enum.GetName(typeof(FluidType), ring.fluidType).ToUpper()); - } - catch (Exception ex) - { - Logger.LogError($"Couldn't parse fluid volume type [{ring.fluidType}]:\n{ex}"); - } - - sfv._fluidType = fluidType; + sfv._fluidType = ring.fluidType.ConvertToOW(); sfv._density = 5f; ringVolume.SetActive(true); diff --git a/NewHorizons/Builder/Props/TornadoBuilder.cs b/NewHorizons/Builder/Props/TornadoBuilder.cs index 1923d3b2..9f962fe5 100644 --- a/NewHorizons/Builder/Props/TornadoBuilder.cs +++ b/NewHorizons/Builder/Props/TornadoBuilder.cs @@ -143,20 +143,9 @@ namespace NewHorizons.Builder.Props tornadoGO.GetComponentInChildren().enabled = true; - var fluidType = FluidVolume.Type.CLOUD; - - try - { - fluidType = (FluidVolume.Type)Enum.Parse(typeof(FluidVolume.Type), Enum.GetName(typeof(FluidType), info.fluidType).ToUpper()); - } - catch (Exception ex) - { - Logger.LogError($"Couldn't parse fluid volume type [{info.fluidType}]:\n{ex}"); - } - // Resize it so the force volume goes all the way up var fluidGO = tornadoGO.transform.Find(downwards ? "MockDownTornado_FluidCenter" : "MockUpTornado_FluidCenter"); - fluidGO.GetComponent()._fluidType = fluidType; + fluidGO.GetComponent()._fluidType = info.fluidType.ConvertToOW(FluidVolume.Type.CLOUD); fluidGO.localScale = new Vector3(1, 2f, 1); if (info.tint != null) @@ -181,19 +170,8 @@ namespace NewHorizons.Builder.Props hurricaneGO.transform.position = planetGO.transform.TransformPoint(position); hurricaneGO.transform.rotation = Quaternion.FromToRotation(Vector3.up, sector.transform.TransformDirection(position.normalized)); - var fluidType = FluidVolume.Type.CLOUD; - - try - { - fluidType = (FluidVolume.Type)Enum.Parse(typeof(FluidVolume.Type), Enum.GetName(typeof(FluidType), info.fluidType).ToUpper()); - } - catch (Exception ex) - { - Logger.LogError($"Couldn't parse fluid volume type [{info.fluidType}]:\n{ex}"); - } - var fluidVolume = hurricaneGO.GetComponentInChildren(); - fluidVolume._fluidType = fluidType; + fluidVolume._fluidType = info.fluidType.ConvertToOW(FluidVolume.Type.CLOUD); fluidVolume._density = 8; var effects = hurricaneGO.transform.Find("Effects_GD_Hurricane").gameObject; diff --git a/NewHorizons/Utility/NewHorizonExtensions.cs b/NewHorizons/Utility/NewHorizonExtensions.cs index 43548039..389975be 100644 --- a/NewHorizons/Utility/NewHorizonExtensions.cs +++ b/NewHorizons/Utility/NewHorizonExtensions.cs @@ -1,4 +1,5 @@ using NewHorizons.External.Configs; +using NewHorizons.External.Modules; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -215,5 +216,18 @@ namespace NewHorizons.Utility Utility.Logger.LogVerbose($"Coordinate Check for {system}: {xCorrect}, {yCorrect}, {zCorrect} [{string.Join("-", coordinates.x)}, {string.Join("-", coordinates.y)}, {string.Join("-", coordinates.z)}]"); return xCorrect && yCorrect && zCorrect; } + + public static FluidVolume.Type ConvertToOW(this FluidType fluidType, FluidVolume.Type @default = FluidVolume.Type.NONE) + { + try + { + return (FluidVolume.Type)Enum.Parse(typeof(FluidVolume.Type), Enum.GetName(typeof(FluidType), fluidType).ToUpper()); + } + catch (Exception ex) + { + Logger.LogError($"Couldn't parse fluid volume type [{fluidType}]:\n{ex}"); + return @default; + } + } } }