예제 #1
0
 public void RegisterCollisionExit(UnityAction <Collision> evt)
 {
     if (collisionExitEvent == null)
     {
         collisionExitEvent = new CollisionExitEvent();
     }
     collisionExitEvent.AddListener(evt);
 }
예제 #2
0
    protected virtual void OnCollisionExit(Collision collision)
    {
        var ball = collision.gameObject.GetComponent <Ball>();

        if (ball != null)
        {
            CollisionExitEvent?.Invoke(this);
        }
    }
예제 #3
0
    public static CollisionExitEvent Create(GameObject gameObject, Collision col)
    {
        CollisionExitEvent e = new CollisionExitEvent();

        e.Type     = QuarkEventType.CollisionExit;
        e.Id       = gameObject.GetInstanceID();
        e.Tag      = gameObject.tag;
        e.OtherTag = col.gameObject.tag;
        return(e);
    }
예제 #4
0
 public void OnCollisionExit(Collision col)
 {
     if (ColliderTags.Contains(col.gameObject.tag))
     {
         //TAG: MakeEvent area.Logger.Log(Logger.CreateMessage(LogMessageType.Debug, $"Ran away from {col.gameObject.name}"), this);
         TriggerCollider = Option.None <Collider>();
         if (area.EventSystem != null)
         {
             area.EventSystem.RaiseEvent(CollisionExitEvent.Create(gameObject, col));
         }
     }
 }
예제 #5
0
 void Handle(CollisionExitEvent e)
 {
     if (e.egoComponent1.HasComponents <BottomComponent>() && e.egoComponent2.HasComponents <Ground>())
     {
         BottomComponent bottom;
         if (!e.egoComponent1.TryGetComponents(out bottom))
         {
             return;
         }
         SetOffGround(bottom);
     }
     if (e.egoComponent1.HasComponents <Ground>() && e.egoComponent2.HasComponents <BottomComponent>())
     {
         BottomComponent bottom;
         if (!e.egoComponent2.TryGetComponents(out bottom))
         {
             return;
         }
         SetOffGround(bottom);
     }
 }
예제 #6
0
 private void OnCollisionExit(Collision collision)
 {
     CollisionExitEvent.Invoke(collision);
 }
 private void OnCollisionExit(Collision other)
 {
     CollisionExitEvent.Invoke();
 }
예제 #8
0
    void OnCollisionExit(Collision collision)
    {
        var e = new CollisionExitEvent(egoComponent, collision.gameObject.GetComponent <EgoComponent>(), collision);

        EgoEvents <CollisionExitEvent> .AddEvent(e);
    }
예제 #9
0
 void OnCollisionExit( Collision collision )
 {
     var e = new CollisionExitEvent( egoComponent, collision.gameObject.GetComponent<EgoComponent>(), collision );
     EgoEvents<CollisionExitEvent>.AddEvent( e );
 }
예제 #10
0
 public void OnCollisionExit2D(Collision2D collision)
 {
     CollisionExitEvent?.Invoke(collision);
 }
예제 #11
0
 private void OnCollisionExit2D(Collision2D collision)
 {
     // 衝突をやめたとき通知する
     CollisionExitEvent?.Invoke(collision);
 }
예제 #12
0
 void Handle(CollisionExitEvent e)
 {
     Debug.Log("CollisionExitEvent");
 }
예제 #13
0
 private void OnCollisionExit2D(Collision2D other)
 {
     CollisionExitEvent?.Invoke(other);
 }
예제 #14
0
 void OnCollisionExit(Collision collision)
 {
     CollisionExitEvent?.Invoke(collision.transform);
 }