public void Awake()
    {
        var noiseGenerator = new NoiseGenerator(
            Mathf.RoundToInt(terrain.terrainData.size.x),
            Mathf.RoundToInt(terrain.terrainData.size.z)
            );

        //lists
        var buildingList = new BuildingList();
        var personList   = new PersonList();

        peopleManager.Init(personList);

        var mapGenerator = new MapGenerator(terrain.terrainData, noiseGenerator, buildingList, personList);

        mapGenerator.Generate();

        var terrainHitter = new TerrainHitter();

        cameraManager.Init(terrainHitter);
        var terrainPositionsFromCameraBoundariesGetter = new TerrainPositionsFromCameraBoundariesGetter(terrainHitter, cameraComponent);

        //displayers
        var buildingsDisplayer = new BuildingsDisplayer(objectPoolerManager, buildingList);
        var peopleDisplayer    = new PeopleDisplayer(objectPoolerManager, personList);

        objectPoolerDisplayer.Init(terrainPositionsFromCameraBoundariesGetter, buildingsDisplayer, peopleDisplayer);
    }
Exemplo n.º 2
0
        public void Init(
            TerrainPositionsFromCameraBoundariesGetter terrainPositionsFromCameraBoundariesGetter,
            BuildingsDisplayer buildingsDisplayer,
            PeopleDisplayer peopleDisplayer
            )
        {
            _terrainPositionsFromCameraBoundariesGetter = terrainPositionsFromCameraBoundariesGetter;

            _displayers.Add(buildingsDisplayer);
            _displayers.Add(peopleDisplayer);
        }