Skins skins;
GameObject Store;
Store = GameObject.FindGameObjectWithTag("MainCamera");
skins = Store.GetComponent<Skins>();
Skins skins = Camera.main.GetComponent<Skins>();
Skins skins = Camera.main.GetComponent<Skins>();
if(skins==null )Debug.log("initialization of the bug");
Debug.Log(YandexGame.savesData.sand);
Debug.Log(skins.Sand);
YandexGame.savesData.sand is int ?Debug.Log("Ok"):Debug.Log(" Not INT"); тут за место инта должно долно быть skins.Sand не уверен что верно написал, надо проверить что YandexGame.savesData.sand и skins.Sand одинаковы по типу
///===///
GameObject Decal = Instantiate(GetGO(), hit.point + (hit.normal * .01f));
Decal.transform.SetParent(null); //под вопросом
///===///
GameObject GetGO()
{
return transform.GetChild(0).gameObject;
}
if (Input.GetMouseButtonDown(0))
{
Ray ray = _camera.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit))
{
if(hit.transform.gameObject.TryGetComponent(out EnemyCode enemy))
{
enemy.hit();
}
else
{
if (shootPF == null) Debug.LogError("Instance Bug");
GameObject Decal=Instantiate(shootPF,hit.point + (hit.normal * .01f));
Decal.transform.forward = -hit.normal;
Decal.transform.SetParent(hit.transform);
}
}
}
1)это ошибка в скрипте он может быть не прикреплен к объекту по этому в инспекторе ошибки не будет
2)удален какой то из модулей/пакетов
3)баги среды или юньку
попробуй создать новый проект и там протестить, на голом можно протестить 3 пункт потом поставить те же Unity Package что и в основном проекте что б избавится от 2 пункта