|
|
(6 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| =Unreal Script Feature Recommendations=
| | {{delete}} |
| ==Block Scope variable definitions==
| |
| | |
| '''This:'''<uscript>
| |
| function NoBlockScope()
| |
| { | |
| local Object Obj;
| |
|
| |
| foreach ObjArray(Obj)
| |
| {
| |
| //do something here
| |
| //Obj is accessible here
| |
| }
| |
| //Obj is not defined and inaccessible in this scope
| |
| }</uscript> | |
| | |
| '''Would become:'''<uscript>
| |
| function BlockScope()
| |
| {
| |
| foreach ObjArray(local Object Obj)
| |
| {
| |
| //do something here
| |
| }
| |
| }</uscript>
| |
| '''The local keyword could be replaced with var, block or just omitted entirely. Similarly this would work for any type as in the following:'''<uscript>
| |
| function BlockScopeTwo()
| |
| {
| |
| foreach ObjArray(var Object Obj, var int i)
| |
| {
| |
| //do something here
| |
| //Obj and i are only accessible here
| |
| }
| |
| //Obj and i are not defined and inaccessible in this scope
| |
| }</uscript>
| |
| | |
| ===Default variable assignment===
| |
| '''This:'''<uscript>
| |
| function bool CheckReplacement(Actor Other)
| |
| {
| |
| local Controller C;
| |
|
| |
| C = Controller(Other);
| |
| | |
| if(C != None)
| |
| {
| |
| //do something here
| |
| }
| |
| }</uscript>
| |
| '''Would become:'''<uscript>
| |
| function bool CheckReplacement(Actor Other)
| |
| {
| |
| local Controller C = Controller(Other);
| |
|
| |
| if(C != None)
| |
| {
| |
| //do something here
| |
| }
| |
| }</uscript>
| |
| '''The following example is of both block scope and default variable assignment:'''
| |
| <uscript>
| |
| function BlockScopeThree()
| |
| {
| |
| for(local int i = 0; i < A.length; ++i)
| |
| {
| |
| //do something here
| |
| }
| |
| }</uscript>
| |
| ==Triplet type==
| |
| A type that can only be one of the following, constructed from 2 boolean types, one which denoted the value of either 0 or 1 and the other which denotes the sign being a negative or positive. There is infact a possibility for a negative zero.
| |
| <pre>-1,0,1</pre>
| |
| ===Updates to normal()===
| |
| Using the aforementioned Triplet type one can construct a truple which can be used as a [[wp:unit vector|unit vector]]. This way input into the normal() would be a type conversion and allow for a more correct literal.
| |
| === <=> Operator===
| |
| With this type its possible to implement this binary relationship operator [[wp:Space Ship Operator|Space Ship Operator]] as in perl, ruby and groovy programming languages.
| |
| <br>
| |