Почему при перезагрузке Unity ScriptableObject не сохраняет переменные, не сохраняет только в примере указанном ниже:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class testManagerClass
{
public int _int1;
public int _int2;
public int _int3;
public int _int4;
}
public class TestManager : MonoBehaviour
{
public TestScriptableobject _testSO;
// генерируем ради примера.
void Start()
{
for (int i = 0; i < _testSO._testClass.Count; i++)
{
_testSO._testClass[i]._testManagerClass._int1 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int2 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int3 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int4 = Random.Range(0, 1000);
}
}
}
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class testManagerClass
{
public int _int1;
public int _int2;
public int _int3;
public int _int4;
}
public class TestManager : MonoBehaviour
{
public TestScriptableobject _testSO;
// генерируем ради примера.
void Start()
{
for (int i = 0; i < _testSO._testClass.Count; i++)
{
_testSO._testClass[i]._testManagerClass._int1 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int2 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int3 = Random.Range(0, 1000);
_testSO._testClass[i]._testManagerClass._int4 = Random.Range(0, 1000);
}
}
}
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class testClass
{
public bool _isBool;
public testManagerClass _testManagerClass;
}
[CreateAssetMenu(fileName = "testSO", menuName = "Create testSO", order = 50)]
public class TestScriptableobject : ScriptableObject
{
public List<testClass> _testClass;
}
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class testClass
{
public bool _isBool;
public testManagerClass _testManagerClass;
}
[CreateAssetMenu(fileName = "testSO", menuName = "Create testSO", order = 50)]
public class TestScriptableobject : ScriptableObject
{
public List<testClass> _testClass;
}
Чтобы решить данную проблему, я просто реализовал чуть по другому. Но вопрос почему так не работает?