Description:
Add company generation.
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r254:248ae13ab6ec -

@@ -15,7 +15,8
15 15 namespace isometricparkfna.Spawners {
16 16
17 17 [Receives(typeof(SpawnContractMessage))]
18 [Reads(typeof(AreaComponent), typeof(ContractStatusComponent))]
18 [Reads(typeof(AreaComponent), typeof(ContractStatusComponent),
19 typeof(OffersContractsComponent))]
19 20 class ContractSpawner : Spawner<SpawnContractMessage>
20 21 {
21 22 private Random random_generator;
@@ -91,6 +92,10
91 92 //for now:
92 93 var occupied = new List<Vector2>();
93 94
95 var contractOrganizations = ReadEntities<OffersContractsComponent>().ToArray();
96
97 var contractCount = contractOrganizations.Count();
98
94 99
95 100 foreach (var (entity, status) in ReadEntities<AreaComponent>().SelectWhereF((e) => (e, GetComponent<ContractStatusComponent>(e)),
96 101 (e) => (e.Item2.status != ContractStatus.Expired))
@@ -132,6 +137,12
132 137 AddComponent(contract, new ImageComponent {ImageIndex = image_index});
133 138 AddComponent(contract, new WindowTypeComponent { type = Window.Contract});
134 139 AddComponent(contract, new VisibilityComponent { visible = false});
140
141 if (contractCount > 0)
142 {
143 var organization_index = random_generator.Next(0, contractCount);
144 AddComponent(contract, new RelatedOrganizationComponent { Entity = contractOrganizations[organization_index] });
145 }
135 146 }
136 147
137 148 }
@@ -219,6 +219,7
219 219 WorldBuilder.AddEngine(new ContractStatusEngine(this.simulation));
220 220
221 221 WorldBuilder.AddEngine(new ContractSpawner(simulation.map.MapWidth, simulation.map.MapHeight, this.simulation, this.grammar));
222 WorldBuilder.AddEngine(new OrganizationSpawner(this.simulation, this.grammar));
222 223
223 224 WorldBuilder.AddGeneralRenderer(new AreaRenderer(this.batch, this.monoFont), 1);
224 225 WorldBuilder.AddGeneralRenderer(new ImGuiWindowRenderer(debugWindow.monoFont, this.imGuiWindowBridgeEngine), 2);
@@ -253,6 +254,12
253 254 }
254 255
255 256 }
257
258 for (int i = 0; i < 10; i++)
259 {
260
261 WorldBuilder.SendMessage(new SpawnOrganizationtMessage { offersContracts = true });
262 }
256 263 WorldBuilder.SendMessage(new SpawnContractMessage
257 264 {
258 265 squares = squares,
@@ -33,6 +33,15
33 33 var amount = GetComponent<BudgetLineComponent>(entity).amount;
34 34 var tree_delta = GetComponent<TreeDeltaComponent>(entity).deltaTreesName;
35 35 var image_index = GetComponent<ImageComponent>(entity).ImageIndex;
36
37
38 if (HasComponent<RelatedOrganizationComponent>(entity))
39 {
40 var related_organization = GetComponent<RelatedOrganizationComponent>(entity).Entity;
41
42 name = GetComponent<NameComponent>(related_organization).DisplayName;
43 }
44
36 45 return (entity, name, status, amount, tree_delta, image_index);
37 46
38 47 }
You need to be logged in to leave comments. Login now