public override int DebeEsquivar(NPC otroNPC) { if (otroNPC.movimiento.m_patronActual != null && otroNPC.movimiento.m_patronActual is MovimientoEdificio) { MovimientoEdificio movOtroNPC = otroNPC.movimiento.m_patronActual as MovimientoEdificio; if (movOtroNPC.GetEdificioObjetivo() == GetEdificioObjetivo()) { if (m_estado == EEstado.Saliendo || movOtroNPC.m_estado == EEstado.Saliendo) { return(1); } } else { if (movOtroNPC.m_estado == EEstado.Entrando || movOtroNPC.m_estado == EEstado.Saliendo) { return(1); } else if (m_estado == EEstado.Entrando || m_estado == EEstado.Saliendo) { return(-1); } } } return(0); }