private void Update() { var x = m_Transform.position.x; var y = m_Transform.position.y; var wentOutOfBounds = false; var eventData = new BoundsCheckerEventData(); var rightEdge = m_MaxBounds.x; var leftEdge = m_MinBounds.x; var topEdge = m_MaxBounds.y; var bottomEdge = m_MinBounds.y; if (m_RelativeToGridBounds) { rightEdge += m_ReferenceGrid.m_MaxBounds.x; leftEdge += m_ReferenceGrid.m_MinBounds.x; topEdge += m_ReferenceGrid.m_MaxBounds.y; bottomEdge += m_ReferenceGrid.m_MinBounds.y; } if (m_CheckRight && x >= rightEdge) { wentOutOfBounds = true; eventData.m_Right = true; } if (m_CheckLeft && x <= leftEdge) { wentOutOfBounds = true; eventData.m_Left = true; } if (m_CheckTop && y >= topEdge) { wentOutOfBounds = true; eventData.m_Top = true; } if (m_CheckBottom && y <= bottomEdge) { wentOutOfBounds = true; eventData.m_Bottom = true; } if (wentOutOfBounds) { m_Events.WentOutOfBounds.Invoke(eventData); } }
public void OnWentOutOfBounds(BoundsCheckerEventData eventData) { Die(); }