int instanceID = gameObject.GetInstanceID();
[System.Serializable]
public class WorldData
{
public List<SerializableObjectData> objectDataList = new List<SerializableObjectData>();
}
[System.Serializable]
public class SerializableObjectData
{
public int instanceID;
public Vector3 position;
public Quaternion rotation;
// Другие данные об объекте...
}
// Ваш код сохранения данных мира
WorldData worldData = new WorldData();
foreach (GameObject gameObject in yourGameObjects)
{
SerializableObjectData objectData = new SerializableObjectData();
objectData.instanceID = gameObject.GetInstanceID();
objectData.position = gameObject.transform.position;
objectData.rotation = gameObject.transform.rotation;
// Заполните другие данные об объекте...
worldData.objectDataList.Add(objectData);
}
// Сохраните worldData в файл или другое хранилище.
// Ваш код загрузки данных мира
// Загрузите worldData из файла или хранилища.
foreach (SerializableObjectData objectData in worldData.objectDataList)
{
GameObject gameObject = GameObject.FindObjectOfInstanceID(objectData.instanceID);
if (gameObject != null)
{
// Установите позицию и вращение объекта на основе сохраненных данных.
gameObject.transform.position = objectData.position;
gameObject.transform.rotation = objectData.rotation;
// Восстановите другие данные об объекте...
}
}
using UnityEngine;
public class YesNoDialog : MonoBehaviour {
[SerializeField] private GameObject _panel;
public void SetShown(bool isShown) {
_panel.SetActive(isShown);
}
public void OnExit() {
Application.Quit();
}
}
public class ExampleScript : MonoBehaviour {
[SerializeField] private YesNoDialog _yesNoDialog; // ссылка на окно
private void SomeFunc1() {
// много чего разного и в процессе нужно показать окно
_yesNoDialog.SetShown(true);
}
}
BulletObj.GetComponent().hit = hit;
// норм
BulletObj.GetComponent<Bullet>().hit = hit;
// в принципе тоже норм
BulletObj.GetComponent(typeof(Bullet)).hit = hit;
// норм, но не очень
BulletObj.GetComponent("Bullet").hit = hit;
[SerializeField] Bullet bulletPrefab;
// ...
Bullet bullet = Instantiate(bulletPrefab, BulletSpawnPoint.position, Quaternion.identity);
[SerializeField] Animator anim;
[SerializeField] string[] triggers;
А вообще материал, который использовался изначально, видимо не поддерживается вашим пайплайном. Попробуйте создать новый URP проект или загуглите видео как перевести проект на URP и загрузите перса туда заново.