Esempio n. 1
0
        private void CheckPortalCollision()
        {
            foreach (var __portal in portals)
            {
                if (__portal.state != State.ACTIVE)
                {
                    continue;
                }

                if (player.immunityTimeAferHit >= 0.0f)
                {
                    return;
                }

                if (__portal.collideOnHit)
                {
                    if (_collider.IsIntersectingRectangle(__portal.aabb, player.aabb))
                    {
                        DisableAllButPlayer();
                        OnPortalEnter?.Invoke(__portal);

                        return;
                    }
                }
                else if (_collider.IsPointInsideRectangle(player.movementAABB.Min, __portal.aabb.Min, __portal.aabb.Max) &&
                         _collider.IsPointInsideRectangle(player.movementAABB.Max, __portal.aabb.Min, __portal.aabb.Max))
                {
                    DisableAllButPlayer();
                    OnPortalEnter?.Invoke(__portal);

                    return;
                }
            }
        }
Esempio n. 2
0
    //private void OnTriggerEnter2D(Collision2D collision)
    //{
    //  if (collision.gameObject.tag == "Player")
    //    DoorEnter(collision.gameObject);
    //}


    void Enter(GameObject player)
    {
        //TODO WIN stuff
        Debug.Log("GAME WON!");
        player.GetComponent <Persona>().WriteOutPutCard("Completed");
        OnPortalEnter.Invoke();
        Destroy(player);
    }
Esempio n. 3
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     OnPortalEnter?.Invoke(collision.transform.GetComponent <ABoardPiece>(), transform.GetSiblingIndex());
 }