Example #1
0
    private void SaveAsset()
    {
        string          fullPath = string.Concat(filePath, stageName, ".asset");
        ScriptableStage newStage = ScriptableObject.CreateInstance(typeof(ScriptableStage)) as ScriptableStage;

        newStage.SetDimension(stageWidth, stageHeight);

        for (int i = 0; i < stageHeight; i++)
        {
            for (int j = 0; j < stageWidth; j++)
            {
                newStage.SetMatrixValue(i, j, stage[i, j]);
            }
        }

        string[] names = AssetDatabase.FindAssets(stageName);

        if (names.Length > 0)
        {
            newStage.Name = string.Concat(stageName, names.Length + 1);
            string newPath = string.Concat(filePath, newStage.Name, ".asset");
            AssetDatabase.CreateAsset(newStage, newPath);
        }
        else
        {
            AssetDatabase.CreateAsset(newStage, fullPath);
        }

        if (!usePreviousSetup)
        {
            ClearWindowMatrixAndName();
        }
    }