Пример #1
0
        private void CategorizePrefab(CitizenInfo human)
        {
            CitizenAI ai       = human.m_citizenAI;
            int       prefabID = human.m_prefabDataIndex;

            /*
             * Create a blank entry. This way, even if this prefab does not belong here
             * for some bizarre reason, we will have a record of it. This eliminates
             * the chance of a prefab getting evaluated more than once, ever.
             */
            _mapping.AddEntry(prefabID);

            if (ai is HumanAI)
            {
                _mapping.AddMapping(prefabID, _data._Humans);

                if (ai is ResidentAI)
                {
                    _mapping.AddMapping(prefabID, _data._Residents);
                }
                else if (ai is ServicePersonAI)
                {
                    _mapping.AddMapping(prefabID, _data._ServicePersons);
                }
                else if (ai is TouristAI)
                {
                    _mapping.AddMapping(prefabID, _data._Tourists);
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._HumanOther);
                }
            }
        }
Пример #2
0
        private void CategorizePrefab(CitizenInfo animal)
        {
            CitizenAI ai       = animal.m_citizenAI;
            int       prefabID = animal.m_prefabDataIndex;

            /*
             * Create a blank entry. This way, even if this prefab does not belong here
             * for some bizarre reason, we will have a record of it. This eliminates
             * the chance of a prefab getting evaluated more than once, ever.
             */
            _mapping.AddEntry(prefabID);

            if (ai is AnimalAI)
            {
                _mapping.AddMapping(prefabID, _data._Animals);

                if (ai is BirdAI)
                {
                    _mapping.AddMapping(prefabID, _data._Birds);

                    if (_prefabs.ContainsKey("Seagull") && _prefabs["Seagull"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Seagulls);
                    }
                }
                else if (ai is LivestockAI)
                {
                    _mapping.AddMapping(prefabID, _data._Livestock);

                    if (_prefabs.ContainsKey("Cow") && _prefabs["Cow"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Cows);
                    }

                    if (_prefabs.ContainsKey("Pig") && _prefabs["Pig"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Pigs);
                    }
                }
                else if (ai is PetAI)
                {
                    _mapping.AddMapping(prefabID, _data._Pets);

                    if (_prefabs.ContainsKey("Dog") && _prefabs["Dog"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Dogs);
                    }
                }
                else if (ai is WildlifeAI)
                {
                    _mapping.AddMapping(prefabID, _data._Wildlife);

                    if (_prefabs.ContainsKey("Wolf") && _prefabs["Wolf"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Wolves);
                    }

                    if (_prefabs.ContainsKey("Bear") && _prefabs["Bear"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Bears);
                    }

                    if (_prefabs.ContainsKey("Moose") && _prefabs["Moose"] == prefabID)
                    {
                        _mapping.AddMapping(prefabID, _data._Moose);
                    }
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._AnimalOther);
                }
            }
        }
        private void CategorizePrefab(BuildingInfo building)
        {
            BuildingAI ai       = building.m_buildingAI;
            int        prefabID = building.m_prefabDataIndex;

            _mapping.AddMapping(prefabID, _data._Buildings);

            if (ai is PlayerBuildingAI)
            {
                _mapping.AddMapping(prefabID, _data._PlayerBuildings);

                if (ai is CemeteryAI)
                {
                    _mapping.AddMapping(prefabID, _data._Cemeteries);
                }
                else if (ai is LandfillSiteAI)
                {
                    _mapping.AddMapping(prefabID, _data._LandfillSites);
                }
                else if (ai is FireStationAI)
                {
                    _mapping.AddMapping(prefabID, _data._FireStations);
                }
                else if (ai is PoliceStationAI)
                {
                    _mapping.AddMapping(prefabID, _data._PoliceStations);
                }
                else if (ai is HospitalAI)
                {
                    _mapping.AddMapping(prefabID, _data._Hospitals);
                }
                else if (ai is ParkAI)
                {
                    _mapping.AddMapping(prefabID, _data._Parks);
                }
                else if (ai is PowerPlantAI)
                {
                    _mapping.AddMapping(prefabID, _data._PowerPlants);
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._PlayerOther);
                }
            }
            else if (ai is PrivateBuildingAI)
            {
                _mapping.AddMapping(prefabID, _data._PrivateBuildings);

                if (ai is ResidentialBuildingAI)
                {
                    _mapping.AddMapping(prefabID, _data._ResidentialBuildings);
                }
                else if (ai is CommercialBuildingAI)
                {
                    _mapping.AddMapping(prefabID, _data._CommercialBuildings);
                }
                else if (ai is IndustrialBuildingAI)
                {
                    _mapping.AddMapping(prefabID, _data._IndustrialBuildings);
                }
                else if (ai is OfficeBuildingAI)
                {
                    _mapping.AddMapping(prefabID, _data._OfficeBuildings);
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._PrivateOther);
                }
            }
            else
            {
                _mapping.AddMapping(prefabID, _data._BuildingOther);
            }
        }
Пример #4
0
        private void CategorizePrefab(VehicleInfo vehicle)
        {
            VehicleAI ai       = vehicle.m_vehicleAI;
            int       prefabID = vehicle.m_prefabDataIndex;

            _mapping.AddMapping(prefabID, _data._Vehicles);

            if (ai is CarTrailerAI)
            {
                return;
            }
            else if (ai is CarAI)
            {
                _mapping.AddMapping(prefabID, _data._Cars);

                if (ai is HearseAI)
                {
                    _mapping.AddMapping(prefabID, _data._Hearses);
                }
                else if (ai is GarbageTruckAI)
                {
                    _mapping.AddMapping(prefabID, _data._GarbageTrucks);
                }
                else if (ai is FireTruckAI)
                {
                    _mapping.AddMapping(prefabID, _data._FireTrucks);
                }
                else if (ai is PoliceCarAI)
                {
                    _mapping.AddMapping(prefabID, _data._PoliceCars);
                }
                else if (ai is AmbulanceAI)
                {
                    _mapping.AddMapping(prefabID, _data._Ambulances);
                }
                else if (ai is BusAI)
                {
                    _mapping.AddMapping(prefabID, _data._Buses);
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._CarOther);
                }
            }
            else if (ai is TrainAI)
            {
                _mapping.AddMapping(prefabID, _data._Trains);

                if (ai is MetroTrainAI)
                {
                    _mapping.AddMapping(prefabID, _data._MetroTrains);
                }
                else if (ai is PassengerTrainAI)
                {
                    _mapping.AddMapping(prefabID, _data._PassengerTrains);
                }
                else if (ai is CargoTrainAI)
                {
                    _mapping.AddMapping(prefabID, _data._CargoTrains);
                }
                else
                {
                    _mapping.AddMapping(prefabID, _data._TrainOther);
                }
            }
            else if (ai is AircraftAI)
            {
                _mapping.AddMapping(prefabID, _data._Aircraft);
            }
            else if (ai is ShipAI)
            {
                _mapping.AddMapping(prefabID, _data._Ships);
            }
            else
            {
                _mapping.AddMapping(prefabID, _data._VehicleOther);
            }
        }