[Fire Mechanism] Improved Fire Mechanism
A következő feature-ök lettek leimplementálva:
- a tűzoltóautók mostmár azután, hogy eloltottak egy tüzet, vissza is mennek a kiinduló tűzoltóságra.
- ha aközben, miközben úton van visszafelé, egy másik tűzesethez éppen egy adott tűzoltóautó esik a legközelebb, akkor az fog kimenni a másik tűzhöz is, nem lesz másik tűzoltóautó kirendelve.
- mostmár a több mezőt felölelő épületekkel is működik a tűzoltó mechanizmus, ilyenkor mindig az épület tűzoltóságról legrövidebb úton elérhető sarkába utazik a tűzoltóautó.
- az épületek le tudnak égni, ha pedig zóna ég le, akkor az ott élő/dolgozó lakosok automatikusan kiköltöztetésre kerülnek. A populáció és az elégedettség is megfelelően frissül.
- ha egy épület azelőtt leég, hogy a tűzoltóautó odaérne, akkor a tűzoltóautó nem megy ki feleslegesen a helyszínre, hanem visszafordul a tűzoltóság felé.
Kód szempontjából lényeges, hogy minden, ami a tűzoltósággal kapcsolatos, ki lett szervezve a Fire
, FireManager
és FireTruck
osztályokba. A FieldManager
a FireManager
-t tartalmazza (illetve a FireManager
a FieldManager
-re is eltárol egy hivatkozást, mert a tűzoltóautó legrövidebb útjának kiszámításához szükségünk van a pálya adataira), illetve a metódusait wrappeli, és azok így érhetőek el a MainModel-ből. A MainModel
továbbra is ugyanazokkal a metódusokkal szolgáltatja a tűzoltóautó kiküldésének, illetve adott épület felgyújtásának lehetőségét.