public DataManager(SO_Characters characterScriptables, SO_Abilities abilityScriptables, SO_Airships airshipScriptables) { // Forces a different code path in the BinaryFormatter that doesn't rely on run-time code generation (which would break on iOS). //http://answers.unity3d.com/questions/30930/why-did-my-binaryserialzer-stop-working.html Environment.SetEnvironmentVariable("MONO_REFLECTION_SERIALIZER", "yes"); // Temp wipe data for iOS. //System.IO.File.Delete("/private" + Application.persistentDataPath + "/savedData.gd"); // Temp wipe data for standalone. System.IO.File.Delete(Application.persistentDataPath + "/savedData.gd"); //Debug.Log (Application.persistentDataPath); // Set scriptable object properties. this.characterScriptables = characterScriptables; this.abilityScriptables = abilityScriptables; this.airshipScriptables = airshipScriptables; this.abilityFactory = new Factory_Ability(abilityScriptables); this.dataObject = new DataObject(this.characterScriptables.characters, this.airshipScriptables.airships); // Calculate and init each experience required per level. this.requiredExperiencePerLevel = new int[99]; for (int i = 0; i < 99; i++) { int value = (i * i + i + 3) * 4; this.requiredExperiencePerLevel[i] = value; } // Deserialize data from binary. this.Load(); }
public static void CreateAirships() { SO_Airships asset = ScriptableObject.CreateInstance <SO_Airships> (); AssetDatabase.CreateAsset(asset, "Assets/Data/SO_Airships.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }