Exemple #1
0
    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();
    }
Exemple #2
0
    public static void CreateFighter()
    {
        SO_Characters asset = ScriptableObject.CreateInstance <SO_Characters> ();

        AssetDatabase.CreateAsset(asset, "Assets/Data/SO_Characters.asset");
        AssetDatabase.SaveAssets();

        EditorUtility.FocusProjectWindow();

        Selection.activeObject = asset;
    }