Use detail info instead

This commit is contained in:
Nick 2023-03-22 23:31:10 -04:00
parent 30ff6367ef
commit 9c5982d9a4
2 changed files with 14 additions and 11 deletions

View File

@ -1,7 +1,6 @@
using Epic.OnlineServices.Presence;
using NewHorizons.Builder.Props.TranslatorText; using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.External.Modules;
using NewHorizons.External.Modules.WarpPad; using NewHorizons.External.Modules.WarpPad;
using NewHorizons.Handlers;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.Utility.OWMLUtilities; using NewHorizons.Utility.OWMLUtilities;
using OWML.Utils; using OWML.Utils;
@ -85,9 +84,7 @@ namespace NewHorizons.Builder.Props
public static void Make(GameObject planetGO, Sector sector, NomaiWarpReceiverInfo info) public static void Make(GameObject planetGO, Sector sector, NomaiWarpReceiverInfo info)
{ {
var receiverObject = GeneralPropBuilder.MakeFromPrefab(info.detailed ? _detailedReceiverPrefab : _receiverPrefab, "NomaiWarpReceiver", planetGO, sector, info); var receiverObject = DetailBuilder.Make(planetGO, sector, info.detailed ? _detailedReceiverPrefab : _receiverPrefab, new PropModule.DetailInfo(info));
StreamingHandler.SetUpStreaming(receiverObject, sector);
var receiver = receiverObject.GetComponentInChildren<NomaiWarpReceiver>(); var receiver = receiverObject.GetComponentInChildren<NomaiWarpReceiver>();
@ -107,9 +104,7 @@ namespace NewHorizons.Builder.Props
public static void Make(GameObject planetGO, Sector sector, NomaiWarpTransmitterInfo info) public static void Make(GameObject planetGO, Sector sector, NomaiWarpTransmitterInfo info)
{ {
var transmitterObject = GeneralPropBuilder.MakeFromPrefab(_transmitterPrefab, "NomaiWarpTransmitter", planetGO, sector, info); var transmitterObject = DetailBuilder.Make(planetGO, sector, _transmitterPrefab, new PropModule.DetailInfo(info));
StreamingHandler.SetUpStreaming(transmitterObject, sector);
var transmitter = transmitterObject.GetComponentInChildren<NomaiWarpTransmitter>(); var transmitter = transmitterObject.GetComponentInChildren<NomaiWarpTransmitter>();
transmitter._frequency = GetFrequency(info.frequency); transmitter._frequency = GetFrequency(info.frequency);
@ -123,7 +118,7 @@ namespace NewHorizons.Builder.Props
private static void CreateComputer(GameObject planetGO, Sector sector, NomaiWarpComputerLoggerInfo computerInfo, NomaiWarpReceiver receiver) private static void CreateComputer(GameObject planetGO, Sector sector, NomaiWarpComputerLoggerInfo computerInfo, NomaiWarpReceiver receiver)
{ {
var computerObject = GeneralPropBuilder.MakeFromPrefab(TranslatorTextBuilder.ComputerPrefab, TranslatorTextBuilder.ComputerPrefab.name, planetGO, sector, computerInfo); var computerObject = DetailBuilder.Make(planetGO, sector, TranslatorTextBuilder.ComputerPrefab, new PropModule.DetailInfo(computerInfo));
var computer = computerObject.GetComponentInChildren<NomaiComputer>(); var computer = computerObject.GetComponentInChildren<NomaiComputer>();
computer.SetSector(sector); computer.SetSector(sector);
@ -133,8 +128,6 @@ namespace NewHorizons.Builder.Props
var computerLogger = computerObject.AddComponent<NomaiWarpComputerLogger>(); var computerLogger = computerObject.AddComponent<NomaiWarpComputerLogger>();
computerLogger._warpReceiver = receiver; computerLogger._warpReceiver = receiver;
StreamingHandler.SetUpStreaming(computerObject, sector);
computerObject.SetActive(true); computerObject.SetActive(true);
} }

View File

@ -175,6 +175,16 @@ namespace NewHorizons.External.Modules
[JsonObject] [JsonObject]
public class DetailInfo : GeneralPropInfo public class DetailInfo : GeneralPropInfo
{ {
public DetailInfo() { }
public DetailInfo(GeneralPropInfo info)
{
foreach (var prop in info.GetType().GetProperties())
{
GetType().GetProperty(prop.Name).SetValue(this, prop.GetValue(info, null), null);
}
}
/// <summary> /// <summary>
/// Relative filepath to an asset-bundle to load the prefab defined in `path` from /// Relative filepath to an asset-bundle to load the prefab defined in `path` from
/// </summary> /// </summary>