]> de.git.xonotic.org Git - xonotic/gmqcc.git/blob - tests/state.qc
ast_expression: params -> type_params
[xonotic/gmqcc.git] / tests / state.qc
1 float  time;
2 entity self;
3
4 .void() think;
5 .float  nextthink;
6 .float  frame;
7
8 void stprint(string fun) {
9     print(fun,
10           ", .frame=", ftos(self.frame),
11           ", .nextthink=", ftos(self.nextthink),
12           " (now: ", ftos(time), ")\n");
13 }
14
15 void st1() = [1, st2] { stprint("st1"); }
16 void st2() = [2, st3] { stprint("st2"); }
17 void st3() = [0, st1] { stprint("st3"); }
18
19 void main() {
20     entity ea = spawn();
21     entity eb = spawn();
22
23     time = 10;
24     self = ea;
25
26     self.think     = st1;
27     self.nextthink = time;
28     self.frame     = 100;
29
30     self.think();
31     time = 11;
32     self.think();
33     time = 12;
34     self.think();
35     time = 13;
36     self.think();
37     time = 14;
38     self.think();
39 };