mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
63 lines
2.1 KiB
C#
63 lines
2.1 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
namespace NewHorizons.Builder.General
|
|
{
|
|
public static class SectorBuilder
|
|
{
|
|
public static Sector Make(GameObject planetBody, OWRigidbody owRigidBody, float sphereOfInfluence)
|
|
{
|
|
GameObject sectorGO = new GameObject("Sector");
|
|
sectorGO.SetActive(false);
|
|
sectorGO.transform.parent = planetBody.transform;
|
|
sectorGO.transform.localPosition = Vector3.zero;
|
|
|
|
SphereShape SS = sectorGO.AddComponent<SphereShape>();
|
|
SS.SetCollisionMode(Shape.CollisionMode.Volume);
|
|
SS.SetLayer(Shape.Layer.Sector);
|
|
SS.layerMask = -1;
|
|
SS.pointChecksOnly = true;
|
|
SS.radius = sphereOfInfluence + 10;
|
|
SS.center = Vector3.zero;
|
|
|
|
sectorGO.AddComponent<OWTriggerVolume>();
|
|
|
|
Sector S = sectorGO.AddComponent<Sector>();
|
|
S._name = (Sector.Name)24;
|
|
S._attachedOWRigidbody = owRigidBody;
|
|
S._subsectors = new List<Sector>();
|
|
|
|
sectorGO.SetActive(true);
|
|
S.enabled = true;
|
|
|
|
return S;
|
|
}
|
|
|
|
public static Sector Make(GameObject planetBody, OWRigidbody owRigidBody, Sector parent)
|
|
{
|
|
if (parent == null) return null;
|
|
|
|
GameObject sectorGO = new GameObject("Sector");
|
|
sectorGO.SetActive(false);
|
|
sectorGO.transform.parent = planetBody.transform;
|
|
sectorGO.transform.localPosition = Vector3.zero;
|
|
|
|
Sector S = sectorGO.AddComponent<Sector>();
|
|
S._idString = parent._idString;
|
|
S._name = parent._name;
|
|
S._attachedOWRigidbody = owRigidBody;
|
|
S._subsectors = new List<Sector>();
|
|
S._triggerRoot = parent._triggerRoot;
|
|
S._proximityTrigger = parent._proximityTrigger;
|
|
S._volumeExcluder = parent._volumeExcluder;
|
|
S._owTriggerVolume = parent._owTriggerVolume;
|
|
S._frameCounter = parent._frameCounter;
|
|
S.SetParentSector(parent);
|
|
|
|
sectorGO.SetActive(true);
|
|
S.enabled = true;
|
|
|
|
return S;
|
|
}
|
|
}
|
|
}
|