MacOSX向けのUnityバッチと連携したドロップレットツールを作るためのあれこれ

【 2016/08/04 20:15 】by 月琴かりん

ドロップレットの作り方

  • Automatorで作れる。
  • ファイルパスの受け取り方、パースは下記の通り。
if [ -e "$1" ]; then
    # ドロップしたファイルのディレクトリパス取得
    echo $(cd $(dirname $1) && pwd)
    # ドロップしたファイルのファイル名取得
    echo $(basename $1)
    # ドロップしたファイルのフルパス取得
    echo $1
fi
  • 拡張子の削除とか
    • 変数展開で拡張子殺すのが楽なので、一旦変数宣言して殺す。
      • http://qiita.com/mriho/items/b30b3a33e8d2e25e94a8

Unityの呼び方

  • バッチモード直呼び出しでもいいけど、Makefileとかシェルを一段噛ませたほうがメンテナンス性あがってよい。
    • Automatorの画面で編集するのつらいから、*.appは呼び出しだけで、触らない方向で。。。

注意:Unityアップデート時あるある

  • アップデート後に突然バッチモードがこけるように
    • Editorバージョンアップの警告でるけど、バッチモードだとそれが突破できずにエラーで落ちる
      • 一回普通にプロジェクト開いて、アップデートしてあげればOK

プログレス出したい

  • プログレスだすだけのアプリを入れる
    • http://d.hatena.ne.jp/zariganitosh/20130704/cocoa_dialog_progressbar_stdin
      • パイプで渡してあげる
        • 言い忘れたけど、変数展開で拡張子ころすのが楽なので、一旦変数宣言しとく。
if [ -e "$1" ]; then
    { WORK_DIR=$(cd $(dirname $1) && pwd); WORK_NAME=$(basename $1); echo 0 MyMessage; (make -C/path/work target DIR=${WORK_DIR} NAME=${WORK_NAME%.*} ); } | /Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog progressbar --indeterminate
fi

参考

  • CocoaDialog
    • http://mstratman.github.io/cocoadialog/

便利な呼び出し方

  • できたドロップレットはDockに登録しておくと、Dockにドラッグ&ドロップで呼び出せるので便利

Link Infomation

alomarron

サイト内検索