void OnTriggerEnter2D(Collider2D other)
{
Debug.Log("Collision");
if (m_paused) return;
if (other.gameObject.tag == "NPC")
{
NPCScript npcScript = other.GetComponent<NPCScript>();
if (teleportTimer == 0 && npcScript.GetCurrentFloor() != GetDestinationFloor())
{
// if npc is lured or evacuating house
if (npcScript.IsLured() || npcScript.IsFleeing())
{
int df = Mathf.Abs(npcScript.GetAlertFloor() - npcScript.GetCurrentFloor());
int ndf = Mathf.Abs(npcScript.GetAlertFloor() - GetDestinationFloor());
if (npcScript.GetAlertFloor() == GetDestinationFloor() ||
ndf < df)
{
if (GetDestinationFloor() == 2)
{
npcScript.Teleport(new Vector3(destination.position.x, destination.position.y + 2, destination.position.z), GetDestinationFloor());
}
else
npcScript.Teleport(destination.position, GetDestinationFloor());
}
}
}
}
}