Can't use vessel computers

This commit is contained in:
Nick 2023-07-22 12:18:25 -04:00
parent ed66cb0665
commit 1f68a12296
3 changed files with 6 additions and 32 deletions

View File

@ -1,4 +1,5 @@
using NewHorizons.Builder.Props.TranslatorText; using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.External.Modules;
using NewHorizons.External.Modules.Props; using NewHorizons.External.Modules.Props;
using NewHorizons.External.Modules.Props.Shuttle; using NewHorizons.External.Modules.Props.Shuttle;
using NewHorizons.Handlers; using NewHorizons.Handlers;
@ -63,16 +64,9 @@ namespace NewHorizons.Builder.Props
return gravityCannonObject; return gravityCannonObject;
} }
private static NomaiComputer CreateComputer(GameObject planetGO, Sector sector, NomaiComputerInfo computerInfo) private static NomaiComputer CreateComputer(GameObject planetGO, Sector sector, GeneralPropInfo computerInfo)
{ {
var prefab = computerInfo.type switch var computerObject = DetailBuilder.Make(planetGO, sector, TranslatorTextBuilder.ComputerPrefab, new DetailInfo(computerInfo));
{
NomaiComputerType.NORMAL => TranslatorTextBuilder.ComputerPrefab,
NomaiComputerType.PRECRASH => TranslatorTextBuilder.PreCrashComputerPrefab,
_ => throw new System.NotImplementedException()
};
var computerObject = DetailBuilder.Make(planetGO, sector, prefab, new DetailInfo(computerInfo));
var computer = computerObject.GetComponentInChildren<NomaiComputer>(); var computer = computerObject.GetComponentInChildren<NomaiComputer>();
computer.SetSector(sector); computer.SetSector(sector);

View File

@ -1,5 +1,6 @@
using NewHorizons.Builder.Props.TranslatorText; using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.Components; using NewHorizons.Components;
using NewHorizons.External.Modules;
using NewHorizons.External.Modules.Props; using NewHorizons.External.Modules.Props;
using NewHorizons.External.Modules.WarpPad; using NewHorizons.External.Modules.WarpPad;
using NewHorizons.Utility; using NewHorizons.Utility;
@ -144,16 +145,9 @@ namespace NewHorizons.Builder.Props
transmitterObject.SetActive(true); transmitterObject.SetActive(true);
} }
private static void CreateComputer(GameObject planetGO, Sector sector, NomaiComputerInfo computerInfo, NomaiWarpReceiver receiver) private static void CreateComputer(GameObject planetGO, Sector sector, GeneralPropInfo computerInfo, NomaiWarpReceiver receiver)
{ {
var prefab = computerInfo.type switch var computerObject = DetailBuilder.Make(planetGO, sector, TranslatorTextBuilder.ComputerPrefab, new DetailInfo(computerInfo));
{
NomaiComputerType.NORMAL => TranslatorTextBuilder.ComputerPrefab,
NomaiComputerType.PRECRASH => TranslatorTextBuilder.PreCrashComputerPrefab,
_ => throw new System.NotImplementedException()
};
var computerObject = DetailBuilder.Make(planetGO, sector, prefab, new DetailInfo(computerInfo));
var computer = computerObject.GetComponentInChildren<NomaiComputer>(); var computer = computerObject.GetComponentInChildren<NomaiComputer>();
computer.SetSector(sector); computer.SetSector(sector);

View File

@ -1,23 +1,9 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.ComponentModel;
using System.Runtime.Serialization;
namespace NewHorizons.External.Modules.Props namespace NewHorizons.External.Modules.Props
{ {
[JsonObject] [JsonObject]
public class NomaiComputerInfo : GeneralPropInfo public class NomaiComputerInfo : GeneralPropInfo
{ {
/// <summary>
/// What design the computer will use.
/// </summary>
[DefaultValue(NomaiComputerType.NORMAL)] public NomaiComputerType type = NomaiComputerType.NORMAL;
}
[JsonConverter(typeof(StringEnumConverter))]
public enum NomaiComputerType
{
[EnumMember(Value = @"normal")] NORMAL = 0,
[EnumMember(Value = @"precrash")] PRECRASH = 1
} }
} }