private void Update() { if (StartTest) { StartTest = false; var sweapon = WeaponPreserializer.Preserializate(weapon); print(JsonUtility.ToJson(sweapon)); var mweapon = WeaponPreserializer.DeserializeWeapon(sweapon); } }
public static void SaveToFile() { SerializableWeaponBundle bundle = new SerializableWeaponBundle(); bundle.weapons = new PreserializedWeapon[Instance.weapons.Count]; bundle.partIDs = new string[Instance.spareParts.Count]; for (int i = 0; i < Instance.weapons.Count; i++) { bundle.weapons[i] = WeaponPreserializer.Preserializate(Instance.weapons[i]); } for (int i = 0; i < Instance.spareParts.Count; i++) { bundle.partIDs[i] = Instance.spareParts[i].PrefabID; } Save(bundle); }
public static void LoadFromFile() { //var bundle = Load(); SerializableWeaponBundle bundle = null; if (bundle == null) { print("Bundle is null"); if ((Instance.weapons?.Count > 0) || (Instance.spareParts?.Count > 0)) { return; } print("Have a set of default parts."); bundle = new SerializableWeaponBundle(); bundle.weapons = new PreserializedWeapon[0]; bundle.partIDs = new string[] { "AK47_R_V1", "AK47_B_V1", "A2_M_V1", "9mm", "AK47_St_V1", }; } Instance.weapons.Clear(); for (int i = 0; i < bundle.weapons.Length; i++) { var weapon = WeaponPreserializer.DeserializeWeapon(bundle.weapons[i]); Instance.weapons.Add(weapon); ReturnWeapon(weapon); } Instance.spareParts.Clear(); for (int i = 0; i < bundle.partIDs.Length; i++) { var part = GameObject.Instantiate(WAPrefabStore.GetPartPrefab(bundle.partIDs[i]).gameObject).GetComponent <MonoPart>(); Instance.spareParts.Add(part); ReturnPart(part); } }