Exemple #1
0
        protected void OnTriggerEnter2D(Collider2D collider)
        {
            TriggerScreenBorders trigger = collider.GetComponent <TriggerScreenBorders>();
            Vector2 newPosition          = Vector2.zero;

            if (trigger != null)
            {
                if (this.gameObject.CompareTag(Tags.LEFT_BORDER))
                {
                    newPosition.x = _oppositeBorder.transform.position.x + _triggerBoxOffset - trigger.ColliderRadius - _epsilonOffset;
                    newPosition.y = trigger.ControllerTransform.position.y;
                }
                else if (this.gameObject.CompareTag(Tags.RIGHT_BORDER))
                {
                    newPosition.x = _oppositeBorder.transform.position.x + _triggerBoxOffset + trigger.ColliderRadius + _epsilonOffset;
                    newPosition.y = trigger.ControllerTransform.position.y;
                }
                else if (this.gameObject.CompareTag(Tags.TOP_BORDER))
                {
                    newPosition.x = trigger.ControllerTransform.position.x;
                    newPosition.y = _oppositeBorder.transform.position.y + _triggerBoxOffset + trigger.ColliderRadius + _epsilonOffset;
                }
                else if (this.gameObject.CompareTag(Tags.BOTTOM_BORDER))
                {
                    newPosition.x = trigger.ControllerTransform.position.x;
                    newPosition.y = _oppositeBorder.transform.position.y + _triggerBoxOffset - trigger.ColliderRadius - _epsilonOffset;
                }

                trigger.ControllerTransform.position = newPosition;
            }
        }