[Javascript] Reference to an object/property.

Hello ladies and gentlemen,

I would like to know if it was possible on a script (or even on all of them at once ?) to create some kind of text reference to mean an object or property ?

For example to make it clear, I often have to type ridigbody2D.velocity.x or rigidbody2D.velocity.y in my current project, and I would love to be able to type xSpeed and ySpeed to read/modify these value.

Thanks in advance.

You can try getters/setters:

function GetSpeedX() : float {
    return rigidbody2D.velocity.x;
}

function SetSpeedX(x : float) {
    rigidbody2D.velocity.x = x;
}

function GetSpeedY() : float {
    return rigidbody2D.velocity.y;
}

function SetSpeedY(y : float) {
    rigidbody2D.velocity.y = y;
}

Unfortunately UnityScript doesn’t allow text macros.

Alternative way of doing it:

#pragma strict

private var _rigidbody2D : Rigidbody2D;

function Start () {
    _rigidbody2D = GetComponent( Rigidbody2D );
    xSpeed = 2;
    ySpeed = 2;
}

function Update () {
    Debug.Log( ySpeed );
    Debug.Log( xSpeed );
}

function get xSpeed() : float {    return _rigidbody2D.velocity.x; }
function set xSpeed(value : float) { _rigidbody2D.velocity.x = value; }
function get ySpeed() : float { return _rigidbody2D.velocity.y; }
function set ySpeed(value : float) { _rigidbody2D.velocity.y = value; }

Better way of doing it!