JSBinding / Code Snippets
new a gameobject & overloaded methds
var go1 = new UnityEngine.GameObject.ctor();
var go2 = new UnityEngine.GameObject.ctor$$String("Hello");
add/get c# component
var trans = go.GddComponent$1(UnityEngine.Transform.ctor);
var image = go.AddComponent$1(UnityEngine.UI.Image.ctor);
image.set_color(new UnityEngine.Color.ctor$$Single$$Single$$Single(125/255, 78/255, 3/255));
add/get javascript component
// a javascript monobehaviour
jss.define_mb("Dog", function () {
this.Eat = function () {
print("EAT!");
}
});
// some function
function fun(goDog) {
goDog.AddComponent$1(jss.Dog);
var dog = goDog.GetComponent$1(jss.Dog);
dog.Eat();
}
define a javascript monobehaviour
jss.define_mb("UIController", function () {
// UnityEngine.Object
// add this variable to Unity Inspector and drag something to it
this.oTileRoot = null;
this.oScore = null;
this.oBestScore = null;
// auto called from c#
this.Start = function () {
}
// auto called from c#
this.Update = function () {
}
});
static methods & enum
if (UnityEngine.Input.GetKeyDown$$KeyCode(UnityEngine.KeyCode.UpArrow)) {
inputMgr.emit("move", 0);
break;
}
properties (get_, set_)
var e = this.animator.get_enabled(); this.animator.set_enabled(!e);
var pos = this.trans.get_position();
other.trans.set_position(pos);
ref/out
var $cv = { Value: UnityEngine.Vector3.get_zero() };
var newPos = UnityEngine.Vector3.SmoothDamp$$Vector3$$Vector3$$Vector3$$Single(
this.trans.get_position(),
this.toPos,
$cv,
0.07);
print("new pos: " + $cv.Value);
delegates & properties & overloaded functions
btn.get_onClick().RemoveAllListeners();
btn.get_onClick().AddListener$$UnityAction(function () {
print("button clicked!");
});
Coroutine
jss.define_mb("CorutineTest", function() {
// called from c#
this.Start = function () {
this.StartCoroutine$$IEnumerator(this.SayHello());
}
// notice syntax here!
this.SayHello = function*() {
var i = 10;
while (i > 0) {
print("hello jsb " + i);
i--;
yield new UE.WaitForSeconds.ctor(1);
}
}
this.Update = function () {
var elapsed = UE.Time.get_deltaTime();
// update coroutines and invokes manually!
this.$UpdateAllCoroutines(elapsed);
this.$UpdateAllInvokes(elapsed);
}
}
back to JSBinding / Home
posted on 2016-07-05 17:40 AnswerWinner 阅读(394) 评论(0) 编辑 收藏 举报