void OnCollisionEnter2D(Collision2D collision) { Debug.Log("collision enter " + collision.gameObject.tag); if (collision.gameObject.tag == "interactable") { MovableInterface obj = collision.gameObject.GetComponent <MovableInterface>(); interacting = true; obj.in_range(true); obj.reFreeze_position(); obj.set_movement_data(this, moveSpeed); } }
void OnCollisionExit2D(Collision2D collision) { Debug.Log("collision exit " + collision.gameObject.tag); if (collision.gameObject.tag == "interactable") { MovableInterface obj = collision.gameObject.GetComponent <MovableInterface>(); if (obj.is_pushable()) { obj.in_range(false); obj.Freeze_position(); obj.reset_pushable(); interacting = false; } } }
void OnTriggerEnter2D(Collider2D other) { if (!triggered) { if (other.gameObject.CompareTag("Movable") || other.gameObject.CompareTag("Ennemy")) { movableEntity = other.gameObject.GetComponent(typeof(MovableInterface)) as MovableInterface; activableEntity = other.gameObject.GetComponent(typeof(ActivableInterface)) as ActivableInterface; if (!movableEntity.IsIgnoringFlippers()) { if (movableEntity.Once()) { activableEntity.Desactivate(); } else { movableEntity.Flip(); triggered = true; } } } } }