くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Unityのスクリプトを部分変換する(C# -> JavaScript)

UnityではC#とかJavaScriptとかBooでスクリプトを書けるのはよいけど、 相互呼び出しができない。。。

プラグインを利用したりして、特定の言語にしないといけない場合があったりして、変換したいと思ったりするので、その備忘録。

JavaScriptからC#への変換については、すでにWebサービスがあるみたいなので、割愛。 - UnityScriptをC#に変換するWebサービス - テラシュールブログ

以下、SublimeTextで置換するのに使う正規表現
ホントのホントのメモ。

public 変数

  • Find: ^public ([a-zA-Z0-9\[\]]+) ([a-zA-Z0-9]+)\;
  • Replace: var $2 : $1;

private 変数

  • Find: ^private ([a-zA-Z0-9]+) ([a-zA-Z0-9]+)
  • Replace: private var $2 : $1

内部変数

  • Find: ([a-zA-Z0-9]+) ([a-zA-Z0-9]+)(;| =)
  • Replace: var $2 : $1$3

関数名

  • Find: ^(|public | private )[a-zA-Z0-9]+ ([a-zA-Z0-9]+)\(
  • Replace: function \2(

関数の引数

  • Find: (int|float|string|bool|Vector3|GameObject) ([a-zA-Z0-9]+)
  • Replace: $2 : $1

GetComponent

  • Find: GetComponent<([a-zA-Z0-9]+)>\(\)
  • Replace: GetComponent($1)

float定数

  • Find: (\.[0-9])F
  • Replace: $1