Previously, class static attributes were incorrectly initialized as player variables in the Initial Global rule, resulting in an error.
Example:
class Example {
public static Number n1 = 1;
public constructor() {
n1++;
}
}
playervar Example myExample;
rule: "test"
Event.OngoingPlayer
{
myExample = new Example();
}
Previous output:
variables
{
global:
0: _classIndexes
player:
0: n1
1: myExample
2: _extendedPlayerCollection
}
// Extended collection variables:
// player [0]: _new_Example_class_index
rule("Initial Global")
{
event
{
Ongoing - Global;
}
// Action count: 2
actions
{
Set Player Variable(Event Player, n1, 1); // !! THIS IS INVALID !!
Set Global Variable At Index(_classIndexes, 0, -1);
}
}
rule("test")
{
event
{
Ongoing - Each Player;
All;
All;
}
// Action count: 5
actions
{
Set Player Variable At Index(Event Player, _extendedPlayerCollection, 0, Index Of Array Value(Global Variable(_classIndexes), 0));
Set Player Variable At Index(Event Player, _extendedPlayerCollection, 0, If-Then-Else(Compare(First Of(Player Variable(Event Player, _extendedPlayerCollection)), ==, -1), Count Of(Global Variable(_classIndexes)), First Of(Player Variable(Event Player, _extendedPlayerCollection))));
Set Global Variable At Index(_classIndexes, First Of(Player Variable(Event Player, _extendedPlayerCollection)), 1);
Modify Player Variable(Event Player, n1, Add, 1);
Set Player Variable(Event Player, myExample, First Of(Player Variable(Event Player, _extendedPlayerCollection)));
}
}
New output:
variables
{
global:
0: n1
1: _classIndexes
player:
0: myExample
1: _extendedPlayerCollection
}
// Extended collection variables:
// player [0]: _new_Example_class_index
rule("Initial Global")
{
event
{
Ongoing - Global;
}
// Action count: 2
actions
{
Set Global Variable(n1, 1);
Set Global Variable At Index(_classIndexes, 0, -1);
}
}
rule("test")
{
event
{
Ongoing - Each Player;
All;
All;
}
// Action count: 5
actions
{
Set Player Variable At Index(Event Player, _extendedPlayerCollection, 0, Index Of Array Value(Global Variable(_classIndexes), 0));
Set Player Variable At Index(Event Player, _extendedPlayerCollection, 0, If-Then-Else(Compare(First Of(Player Variable(Event Player, _extendedPlayerCollection)), ==, -1), Count Of(Global Variable(_classIndexes)), First Of(Player Variable(Event Player, _extendedPlayerCollection))));
Set Global Variable At Index(_classIndexes, First Of(Player Variable(Event Player, _extendedPlayerCollection)), 1);
Modify Player Variable(n1, Add, 1);
Set Player Variable(Event Player, myExample, First Of(Player Variable(Event Player, _extendedPlayerCollection)));
}
}
Previously, class static attributes were incorrectly initialized as player variables in the
Initial Global
rule, resulting in an error.Example:
Previous output:
New output: