Пример #1
0
    public static TowerController CreateTower(TowerType type, Tower model, TowerSpawnerController spawnerController, out GameObject gameObject)
    {
        GameObject towerInstance = null;
        GameObject prefab        = null;

        switch (type)
        {
        case TowerType.EARTH_TOWER:
            prefab = instance.earthTowerPrefab;
            break;

        case TowerType.FIRE_TOWER:
            prefab = instance.fireTowerPrefab;
            break;
        }
        towerInstance = Instantiate(prefab, instance.spawner.transform.position, instance.spawner.transform.rotation);

        TowerView       view       = towerInstance.GetComponent <TowerView>();
        TowerController controller = new TowerController(model, view, spawnerController);

        view.Controller = controller;
        controller.UpdateView();

        gameObject = towerInstance;

        return(controller);
    }
Пример #2
0
    void Start()
    {
        GoldManager goldManager = new GoldManager(150, new RegularPriceList());

        goldManagerController = new GoldManagerController(goldManager, goldManagerView);

        WaveService waveService = new WaveService(goldManager);

        spawnerController = new MonsterSpawnerController(spawnerView, goldManagerController, waveService);

        TowerSpawner towerSpawner = new TowerSpawner();

        towerSpawnerController      = new TowerSpawnerController(towerSpawner, towerSpawnerView, goldManagerController);
        towerSpawnerView.Controller = towerSpawnerController;
        towerSpawnerController.SelectTower(TowerType.EARTH_TOWER);
    }
Пример #3
0
    public static TowerController CreateTower(TowerType type, Tower model, TowerSpawnerController spawnerController)
    {
        GameObject dummy;

        return(CreateTower(type, model, spawnerController, out dummy));
    }
Пример #4
0
 public TowerController(Tower model, TowerView view, TowerSpawnerController spawnerController) : base(model, view)
 {
     fireCooldownCounter    = new Cooldown(Model.Projectile.AttackComp.Speed.Points);
     this.spawnerController = spawnerController;
 }