From 0c619e0fd1c4055603e04ac8582a1ef2f890ca51 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 23 Mar 2023 00:34:20 -0400 Subject: [PATCH] Fix warp pads --- NewHorizons/Builder/Props/GeneralPropBuilder.cs | 5 ----- NewHorizons/Builder/Props/WarpPadBuilder.cs | 6 +++++- NewHorizons/External/Modules/PropModule.cs | 14 ++------------ 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/NewHorizons/Builder/Props/GeneralPropBuilder.cs b/NewHorizons/Builder/Props/GeneralPropBuilder.cs index eae23d74..41a3319e 100644 --- a/NewHorizons/Builder/Props/GeneralPropBuilder.cs +++ b/NewHorizons/Builder/Props/GeneralPropBuilder.cs @@ -1,11 +1,6 @@ using NewHorizons.External.Modules; using NewHorizons.Utility; using NewHorizons.Utility.OWUtilities; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using UnityEngine; using Logger = NewHorizons.Utility.Logger; diff --git a/NewHorizons/Builder/Props/WarpPadBuilder.cs b/NewHorizons/Builder/Props/WarpPadBuilder.cs index e6ae0b42..7494d70f 100644 --- a/NewHorizons/Builder/Props/WarpPadBuilder.cs +++ b/NewHorizons/Builder/Props/WarpPadBuilder.cs @@ -5,6 +5,7 @@ using NewHorizons.Utility; using NewHorizons.Utility.OWMLUtilities; using OWML.Utils; using UnityEngine; +using Logger = NewHorizons.Utility.Logger; namespace NewHorizons.Builder.Props { @@ -84,7 +85,10 @@ namespace NewHorizons.Builder.Props public static void Make(GameObject planetGO, Sector sector, NomaiWarpReceiverInfo info) { - var receiverObject = DetailBuilder.Make(planetGO, sector, info.detailed ? _detailedReceiverPrefab : _receiverPrefab, new PropModule.DetailInfo(info)); + var detailInfo = new PropModule.DetailInfo(info); + var receiverObject = DetailBuilder.Make(planetGO, sector, info.detailed ? _detailedReceiverPrefab : _receiverPrefab, detailInfo); + + Logger.Log($"Position is {detailInfo.position} was {info.position}"); var receiver = receiverObject.GetComponentInChildren(); diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs index 309e8e53..8ed805bd 100644 --- a/NewHorizons/External/Modules/PropModule.cs +++ b/NewHorizons/External/Modules/PropModule.cs @@ -3,6 +3,7 @@ using NewHorizons.External.Modules.WarpPad; using NewHorizons.Utility; using Newtonsoft.Json; using Newtonsoft.Json.Converters; +using Newtonsoft.Json.Serialization; using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; @@ -177,20 +178,9 @@ namespace NewHorizons.External.Modules { public DetailInfo() { } - public DetailInfo(GeneralPropInfo info) - { - foreach (var prop in info.GetType().GetProperties()) - { - GetType().GetProperty(prop.Name).SetValue(this, prop.GetValue(info, null), null); - } - } - public DetailInfo(GeneralPointPropInfo info) { - foreach (var prop in info.GetType().GetProperties()) - { - GetType().GetProperty(prop.Name).SetValue(this, prop.GetValue(info, null), null); - } + JsonConvert.PopulateObject(JsonConvert.SerializeObject(info), this); } ///