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编辑  收藏  举报

导航