Files
Hasebe/Assets/Code/OfficeGame/Location/LocationSegmentPreProcessor.cs
T
2026-09-26 00:08:23 +03:00

35 lines
1.3 KiB
C#

using TinyGoose.Tremble;
using UnityEngine;
namespace Code.Game.OfficeGame.Location
{
public class LocationSegmentPreProcessor : MapProcessorBase
{
// Seems safe to be inaccurate
private LocationSegment _locationSegment;
public override void ProcessWorldSpawnProperties(MapBsp mapBsp, BspEntity entity, GameObject rootGameObject)
{
_locationSegment = rootGameObject.GetComponentInChildren<LocationSegment>();
}
public override void ProcessPointEntity(MapBsp mapBsp, BspEntity entity, GameObject point)
{
if (entity.GetClassname() != "Utility_LocationTransitionPoint") return;
var transitionPoint = point.GetComponent<LocationTransitionPoint>();
transitionPoint.selfLocationID = _locationSegment.locationID;
_locationSegment.transitionPoints.Add(transitionPoint);
}
public override void ProcessBrushEntity(MapBsp mapBsp, BspEntity entity, GameObject brush)
{
if (entity.GetClassname() != "func_LocationSegmentTrigger") return;
var locationSegmentTrigger = brush.GetComponent<LocationSegmentTrigger>();
locationSegmentTrigger.segment = _locationSegment;
_locationSegment.triggers.Add(locationSegmentTrigger);
}
}
}