private bool TryFixTo(Destroyable newDestructible) { var isDifferent = destructible != newDestructible; transform.SetParent(newDestructible.transform, false); var worldPosition = transform.TransformPoint(Offset); if (newDestructible.SampleAlpha(worldPosition) > 0.5f) { if (isDifferent == true) { Unhook(); destructible = newDestructible; Hook(); } return(true); } transform.SetParent(destructible.transform, false); return(false); }
private void UpdateFixture() { if (destructible == null) { destructible = GetComponentInParent <Destroyable>(); } if (destructible == null) { DestroyFixture(); } else { var worldPosition = transform.TransformPoint(Offset); if (destructible.SampleAlpha(worldPosition) < 0.5f) { DestroyFixture(); } } }