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; } } }
//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); }
private void OnCollisionEnter2D(Collision2D collision) { OnPortalEnter?.Invoke(collision.transform.GetComponent <ABoardPiece>(), transform.GetSiblingIndex()); }