Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
 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;
         }
     }
 }
Beispiel #3
0
 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;
                 }
             }
         }
     }
 }