public void Dispose() { Utils.Reclaim(ref mCollidersOverlay); mBridge?.Dispose(); mCommonColliderMapper?.RemovePhysicsChecker(SubgroupID); mCommonColliderMapper = default; CheckerOwner = default; mBridge = default; mColliderItem = default; SubgroupID = int.MaxValue; }
public void SetSubgroup(IShipDockEntitas entitas, ICommonOverlayMapper commonCollider) { bool hasData = commonCollider.IsDataValid(ref entitas); if (hasData) { BehaviourIDs ids = commonCollider.GetEntitasData(ref entitas); SubgroupID = ids.gameItemID; mCommonColliderMapper = commonCollider; mCommonColliderMapper.PhysicsChecked(SubgroupID, true); mBridge = new ComponentBridge(OnInit); mBridge.Start(); } }