Example #1
0
    /// <summary>
    /// Assetからの相対パスで指定する.
    /// </summary>
    public static void Create(string templateName, string filePath, System.Action <GameObject> setParam)
    {
        if (AssetDataBaseUtils.Exists(filePath))
        {
            return;
        }

        string dir = System.IO.Path.GetDirectoryName(filePath);

        DirectoryUtils.SafeCreateDirectory(dir);
        if (AssetDatabase.CopyAsset(GetTemplatePath(templateName), filePath))
        {
            var go = AssetDatabase.LoadAssetAtPath <GameObject> (filePath);
            setParam(go);
        }
    }
    void ExportScreenSettings()
    {
        string settingsPath = AssetDataBaseUtils.GetAssetFullPath(settings);
        string dir          = Path.GetDirectoryName(settingsPath);
        //Window
        string windowDir = dir + "/Window";

        DirectoryUtils.SafeCreateDirectory(windowDir);
        foreach (var item in settings.windows)
        {
            ScriptCreater.Create("WindowTemplate", string.Format("{0}/{1}.cs", windowDir, item.name));
        }

        string screenDir = dir + "/Screen";

        DirectoryUtils.SafeCreateDirectory(screenDir);
        foreach (var item in settings.screens)
        {
            ScriptCreater.Create("ScreenTemplate", string.Format("{0}/{1}.cs", screenDir, item.name));
        }
        AssetDatabase.Refresh();
    }