Rectangle.IntersectWith() работает 100%, у вас проблема в данных или в логике их изменения. Например вы сначала сделали проверку в текущих позициях, а потом подвинули и они у вас налезли.
У вас проблема в коде Update. Они у вас оба работают, и оба перемещают, только видите вы перемещения для того, кто переместил его последним.
Надо не Input.GetMouseButton, а Reycast пускать под курсором и смотреть в какой объект он попадёт. И уже запускать код телепортации в этом объекте.
Удобно рассматривать на примере массива. Вот вы пишите int[] buffer
И какой же тут размер массива у нас? А никакой, массива то ещё нет, только место для его ссылки.
И только после buffer = new int[10050000000] у вас выделяться гигабайты памяти на него, и можно будет что-то в него сохранить.
Не стоит парится, я думаю. Судя по тостеру, тут полно вопросов вида, как сделать так же, как вот тут на сайте. Т.е. вместо того, чтобы открыть код и посмотреть идут составлять вопросы. Не говоря уже о том, что бы почитать документацию к API.
Да, креш в ADB будет виден. Но с чего вы решили, что у вас он, а не нормальное завершение приложения, потому что автор так решил. Особенно если вчера работало, а сегодня уже нет.
Выкинуть координаты по вышкам, когда есть GPS.
Про A-GPS:
Чтобы начать определять координаты по GPS нужно знать координаты спутников. Их можно или получать в течении 15 минут с самих спутников или скачать за секунду из инета. Вот этой скачкой и занимается Assist GPS. К вашей теме не имеет никакого отношения.
Тут нет лучше, вопрос что вам нужно. Исключение вам всё равно придётся где-то обработать, и вы сами решаете на каком уровней логики не критично не получить результат.
Тот же List не может подсунуть вам фейк в виде -1, потому что он не знает, что это какое-то не валидное значение в вашем случае.