public void UpdateState(TowerSpawnerViewModel data) { if (towerProjection != null) { Destroy(towerProjection); } Tower model = ElementalTowerDefenseModel.TowerFactory.CreateTower(data.TowerType); TowerController controller = TowerFactory.CreateTower( data.TowerType, model, null, out towerProjection); towerProjection.GetComponent <Rigidbody>().detectCollisions = false; towerProjection.GetComponent <TowerView>().enabled = false; towerProjection.transform.parent = gameObject.transform; transform.GetChild(0).transform.localScale = new Vector3( model.Range.Points * 2, model.Range.Points * 2, model.Range.Points * 2); spawnerView.IsInSpawnMode = data.IsInSpawnMode; if (!IsInSpawnMode) { SetProjectionVisibility(false); } }
public void SpawnTower() { if (View.TowerIsPlaceable) { Tower tower = towerService.Buy(); if (tower != null) { TowerController controller = TowerFactory.CreateTower(Model.SelectedTowerType, tower, this); goldManagerController.UpdateView(); controllers.Add(controller); IsInSpawnMode = false; } } }
private void PlaceTower() { if (towerFactory.towersPlaced < towerFactory.maxTowers) { hasTower = true; Tower newTower = towerFactory.CreateTower(transform.position); newTower.SetWaypoint(this); towerFactory.towersPlaced++; } else { print("Max towers placed."); } }
//private bool created = false; void Awake() { tower = TowerFactory.CreateTower(tower); if (tower.bulletPrefab != null) { PoolManager.CheckForPool(tower.bulletPrefab, 500); } /*if (!created) * { * DontDestroyOnLoad(gameObject); * created = true; * //Debug.Log("Awake: " + gameObject); * }*/ }
// Start is called before the first frame update void Start() { TowerFactory.CreateTower(TowerID, transform.position, transform.rotation); Destroy(gameObject); }