2021-03-13 10:19:02 +00:00

45 lines
1.0 KiB
C#

using QSB.WorldSync;
using UnityEngine;
namespace QSB.SectorSync.WorldObjects
{
public class QSBSector : WorldObject<Sector>
{
public Sector.Name Type => AttachedObject.GetName();
public Transform Transform => AttachedObject.transform;
public Vector3 Position => Transform.position;
public bool IsFakeSector => AttachedObject.GetType() == typeof(FakeSector);
public override void Init(Sector sector, int id)
{
ObjectId = id;
AttachedObject = sector;
if (IsFakeSector)
{
QSBSectorManager.Instance.FakeSectors.Add(this);
}
}
public override void OnRemoval()
{
if (IsFakeSector)
{
QSBSectorManager.Instance.FakeSectors.Remove(this);
}
}
public bool ShouldSyncTo()
{
if (Type == Sector.Name.Ship)
{
return false;
}
if ((AttachedObject.name == "Sector_Shuttle" || AttachedObject.name == "Sector_NomaiShuttleInterior")
&& !AttachedObject.gameObject.GetComponentInParent<NomaiShuttleController>().IsPlayerInside())
{
return false;
}
return true;
}
}
}