Спасибо за отзыв. Ты видимо тут недавно. Код можно выделить для читабельности.
Нажми для этого на кнопку сверху "<\>"(только слеш перевернутый), выберите язык ну и закиньте код внутрь тегов
Мне помог Event System. Пробовал тоже проверять через EventSystem.current.IsPointerOverGameObject(), вроде не работало. Потом просто реализовал интерфейс из Event System, заработало.
Спасибо. Но только одно не совсем понял. Если сборщик мусора может переместить обьект сделав указатель не действующим, то нужно для безопасности использовать всегда fixed? Или он перетаскивает какие то определенные объекты?
Желательно не искать обьект на сцене а держать его где то. Когда например подбираешь оружие можно его GameObject сложить в какую то перменную и потом ее использовать. А так при поиск обьекта очень дорогая штука, максимум использовать его можно при старте и то сразу же записывая куда то(если нужно потому буднт использовать).
Почему не создаеться?
Может обьект пустой? Ошибки есть? Rifle.name это GameObject?
Может просто условия не работают(ну допустим не найден обьект или slot не 1 или 0).
Немного странно что сопротивление движению не работает. Ты уверен что ты настроил? По крути просто и тесть какой лучше вариант. Там если сопротивление высокое нужно будет и силу движение прибавлять(moveSpeed), может ты изменил этот параметр на совсем немного что даже кажеться что нечего не изменилось? А может настроил но не у того? Если выше перечисленное не сработало это вроде как против логики и физике будет.
?
Заметь камера уже главная, поэтому работать будет(если она есть конечно).
Либо если тебе нужна другая камера то обращайся к ней через Inspector —> [SerializeField) private Camera camera;