mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
gruh
This commit is contained in:
parent
3b9d3dce46
commit
10f4c7a5a1
@ -45,6 +45,7 @@ namespace NewHorizons.Builder.Props
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
public static void MakeQuantumLightning(GameObject planetGO, Sector sector, GameObject[] propsInGroup)
|
||||
{
|
||||
var lightning = DetailBuilder.Make(planetGO, sector, AssetBundleUtilities.EyeLightning.LoadAsset<GameObject>("Prefab_EYE_QuantumLightningObject"), new DetailInfo());
|
||||
@ -59,6 +60,7 @@ namespace NewHorizons.Builder.Props
|
||||
lightningController._models = new GameObject[] { prop };
|
||||
lightningController.enabled = true;
|
||||
}
|
||||
*/
|
||||
|
||||
public static void MakeSocketGroup(GameObject planetGO, Sector sector, QuantumGroupInfo quantumGroup, GameObject[] propsInGroup)
|
||||
{
|
||||
@ -67,31 +69,19 @@ namespace NewHorizons.Builder.Props
|
||||
groupRoot.transform.localPosition = Vector3.zero;
|
||||
groupRoot.transform.localEulerAngles = Vector3.zero;
|
||||
|
||||
var sockets = new GameObject[quantumGroup.sockets.Length];
|
||||
var sockets = new QuantumSocket[quantumGroup.sockets.Length];
|
||||
for (int i = 0; i < quantumGroup.sockets.Length; i++)
|
||||
{
|
||||
var socketInfo = quantumGroup.sockets[i];
|
||||
|
||||
var socketGO = GeneralPropBuilder.MakeNew("Socket " + i, planetGO, sector, socketInfo, parentOverride: groupRoot.transform);
|
||||
sockets[i] = socketGO;
|
||||
var socket = socketGO.AddComponent<QuantumSocket>();
|
||||
socket._lightSources = new Light[0];
|
||||
sockets[i] = socket;
|
||||
|
||||
socketGO.SetActive(true);
|
||||
}
|
||||
|
||||
if (quantumGroup.lightning)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var socketGO in sockets)
|
||||
{
|
||||
var socket = socketGO.AddComponent<QuantumSocket>();
|
||||
socket._lightSources = new Light[0];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach (var prop in propsInGroup)
|
||||
{
|
||||
prop.SetActive(false);
|
||||
@ -109,11 +99,6 @@ namespace NewHorizons.Builder.Props
|
||||
AddBoundsVisibility(prop);
|
||||
}
|
||||
|
||||
if (quantumGroup.lightning)
|
||||
{
|
||||
MakeQuantumLightning(planetGO, sector, prop);
|
||||
}
|
||||
|
||||
prop.SetActive(true);
|
||||
}
|
||||
|
||||
@ -252,27 +237,5 @@ namespace NewHorizons.Builder.Props
|
||||
}
|
||||
}
|
||||
|
||||
public class BoxShapeFixer : MonoBehaviour
|
||||
{
|
||||
public BoxShape shape;
|
||||
public MeshFilter meshFilter;
|
||||
public SkinnedMeshRenderer skinnedMeshRenderer;
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (meshFilter == null && skinnedMeshRenderer == null) { NHLogger.LogVerbose("Useless BoxShapeFixer, destroying"); DestroyImmediate(this); }
|
||||
|
||||
Mesh sharedMesh = null;
|
||||
if (meshFilter != null) sharedMesh = meshFilter.sharedMesh;
|
||||
if (skinnedMeshRenderer != null) sharedMesh = skinnedMeshRenderer.sharedMesh;
|
||||
|
||||
if (sharedMesh == null) return;
|
||||
if (sharedMesh.bounds.size == Vector3.zero) return;
|
||||
|
||||
shape.size = sharedMesh.bounds.size;
|
||||
shape.center = sharedMesh.bounds.center;
|
||||
|
||||
DestroyImmediate(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace NewHorizons.Builder.Props;
|
||||
|
||||
public static class QuantumLightningBuilder
|
||||
{
|
||||
public static void Make()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -11,8 +11,6 @@ namespace NewHorizons.External.Modules.Props.Quantum
|
||||
|
||||
[EnumMember(Value = @"states")] States = 1,
|
||||
|
||||
[EnumMember(Value = @"lightning")] Lightning = 2,
|
||||
|
||||
FailedValidation = 10
|
||||
}
|
||||
}
|
||||
|
||||
43
NewHorizons/Utility/Geometry/BoxShapeFinder.cs
Normal file
43
NewHorizons/Utility/Geometry/BoxShapeFinder.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using NewHorizons.Utility.OWML;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NewHorizons.Utility.Geometry;
|
||||
|
||||
internal class BoxShapeFixer : MonoBehaviour
|
||||
{
|
||||
public BoxShape shape;
|
||||
public MeshFilter meshFilter;
|
||||
public SkinnedMeshRenderer skinnedMeshRenderer;
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (meshFilter == null && skinnedMeshRenderer == null)
|
||||
{
|
||||
NHLogger.LogVerbose("Useless BoxShapeFixer, destroying"); DestroyImmediate(this);
|
||||
}
|
||||
|
||||
Mesh sharedMesh = null;
|
||||
if (meshFilter != null)
|
||||
{
|
||||
sharedMesh = meshFilter.sharedMesh;
|
||||
}
|
||||
if (skinnedMeshRenderer != null)
|
||||
{
|
||||
sharedMesh = skinnedMeshRenderer.sharedMesh;
|
||||
}
|
||||
|
||||
if (sharedMesh == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (sharedMesh.bounds.size == Vector3.zero)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
shape.size = sharedMesh.bounds.size;
|
||||
shape.center = sharedMesh.bounds.center;
|
||||
|
||||
DestroyImmediate(this);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user