Elin Modding Docs Doc
Loading...
Searching...
No Matches
RankedZoneManager.cs
1using System;
2using System.Collections.Generic;
3using System.Runtime.CompilerServices;
4using UnityEngine;
5
6// Token: 0x020006E7 RID: 1767
8{
9 // Token: 0x060032FF RID: 13055 RVA: 0x00117F74 File Offset: 0x00116174
10 public int GetIncome(Zone z)
11 {
12 List<FactionBranch> children = EClass.pc.faction.GetChildren();
13 children.Sort((FactionBranch a, FactionBranch b) => this.GetRank(a.owner) - this.GetRank(b.owner));
14 int num = children.IndexOf(z.branch);
15 return this.<GetIncome>g__CalcIncome|0_0(z) * 100 / (100 + num * 40);
16 }
17
18 // Token: 0x06003300 RID: 13056 RVA: 0x00117FC0 File Offset: 0x001161C0
19 public string GetRankText(Zone z)
20 {
21 int rank = this.GetRank(z);
22 string[] list = Lang.GetList("num_rank");
23 int num = rank % 10;
24 if (num >= list.Length)
25 {
26 num = 0;
27 }
28 return rank.ToString() + list[num];
29 }
30
31 // Token: 0x06003301 RID: 13057 RVA: 0x00117FFC File Offset: 0x001161FC
32 public int GetRank(Zone z)
33 {
34 foreach (RankedZone rankedZone in this.GetList())
35 {
36 if (rankedZone.z == z)
37 {
38 return rankedZone.rank;
39 }
40 }
41 return 1;
42 }
43
44 // Token: 0x06003302 RID: 13058 RVA: 0x00118060 File Offset: 0x00116260
45 public List<RankedZone> GetList()
46 {
47 List<RankedZone> list = new List<RankedZone>();
48 using (Dictionary<int, Spatial>.ValueCollection.Enumerator enumerator = EClass.game.spatials.map.Values.GetEnumerator())
49 {
50 while (enumerator.MoveNext())
51 {
52 Spatial z = enumerator.Current;
53 if ((z.source.value > 0 && z.lv == 0) || z.IsPlayerFaction)
54 {
55 int v = 0;
56 if (z.IsPlayerFaction)
57 {
58 v = (z as Zone).branch.Worth;
59 }
60 else
61 {
62 v = z.source.value;
63 Rand.UseSeed(z.uid, delegate
64 {
65 v = z.source.value + EClass.rnd(z.source.value / 10);
66 });
67 }
68 list.Add(new RankedZone
69 {
70 z = (z as Zone),
71 value = v
72 });
73 }
74 }
75 }
76 list.Sort((RankedZone a, RankedZone b) => b.Value - a.Value);
77 int num = 0;
78 int num2 = 0;
79 foreach (RankedZone rankedZone in list)
80 {
81 int num3 = num2 - rankedZone.value;
82 int num4;
83 if (rankedZone.value >= 100000000)
84 {
85 num4 = 100000000;
86 }
87 else if (rankedZone.value >= 10000000)
88 {
89 num4 = 5000000;
90 }
91 else if (rankedZone.value >= 5000000)
92 {
93 num4 = 1000000;
94 }
95 else if (rankedZone.value >= 1000000)
96 {
97 num4 = 500000;
98 }
99 else if (rankedZone.value >= 500000)
100 {
101 num4 = 50000;
102 }
103 else if (rankedZone.value >= 100000)
104 {
105 num4 = 10000;
106 }
107 else if (rankedZone.value >= 50000)
108 {
109 num4 = 5000;
110 }
111 else if (rankedZone.value >= 10000)
112 {
113 num4 = 2000;
114 }
115 else
116 {
117 num4 = 1000;
118 }
119 num += Mathf.Max(num3 / num4, 1);
120 rankedZone.rank = num;
121 num2 = rankedZone.Value;
122 }
123 return list;
124 }
125
126 // Token: 0x06003304 RID: 13060 RVA: 0x00118318 File Offset: 0x00116518
127 [CompilerGenerated]
128 private int <GetIncome>g__CalcIncome|0_0(Zone _z)
129 {
130 int rank = this.GetRank(_z);
131 if (rank > 125)
132 {
133 return 0;
134 }
135 return (126 - rank) * 100;
136 }
137}
Definition Zone.cs:14