Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MoveRule()

void System.Runtime.CompilerServices.RuleCache< T >.MoveRule ( T rule,
int i )
inlinepackage

Definition at line 24 of file RuleCache.cs.

25 {
26 lock (_cacheLock)
27 {
28 int num = _rules.Length - i;
29 if (num > 8)
30 {
31 num = 8;
32 }
33 int num2 = -1;
34 int num3 = Math.Min(_rules.Length, i + num);
35 for (int j = i; j < num3; j++)
36 {
37 if (_rules[j] == rule)
38 {
39 num2 = j;
40 break;
41 }
42 }
43 if (num2 >= 2)
44 {
45 T val = _rules[num2];
46 _rules[num2] = _rules[num2 - 1];
47 _rules[num2 - 1] = _rules[num2 - 2];
48 _rules[num2 - 2] = val;
49 }
50 }
51 }

References System.Runtime.CompilerServices.RuleCache< T >._cacheLock, System.Runtime.CompilerServices.RuleCache< T >._rules, and System.Math.Min().