Quote Originally Posted by Gleeok View Post
Let's talk about the AS syntax really quick.

Code:
//note: code is gibberish, it doesn't do anything.

//HANDLES
void Foo(Ref@ ref) //option A:
{
  @ref = @Ref.Create(); //points to a new thingy.
  ref = otherRef; // now it value copies other thingy. whoops.
}

// confused yet? ...well then:

void Foo(Ref ref) //option B:
{
  ref = Ref.Create(); //points to a new thingy.
  ref = otherRef; // now it POINTS to other thingy instead.
}

int e = Enum::Value;
int i = A::B::Value; 
int v = this.Value;
int x = Object.Value;
Link::X = x;

..confused again?

int e = Enum.Value;
int i = A.B.Value; 
int v = this.Value;
int x = Object.Value;
Link.X = x;

// Current annoyance... but unlikely as part of the ZC script API. ...idk
void Foo(const int &in a, int &out b, Object &c)
{
}

//unless we allow unsafe references only "out&" or "&inout" is really useful.
Script language reference: http://www.angelcode.com/angelscript...oc_script.html
Other issues?
Looking at that syntax makes me feel like I'm looking through the source code, just to do a little scripting. I'm not entirely sure how this will help people learn the language?