private IEnumerator PopulateBuildTowerButtons() { yield return(new WaitUntil(() => GameManager.instance.AllPlayersReady)); for (int i = 0; i < ListManager.instance.towers.Count; i++) { var tower = ListManager.instance.towers[i]; var buttonGameObject = Instantiate(BuildTowerButton, ButtonHolder); var button = buttonGameObject.GetComponent <Button>(); var buildTowerButton = buttonGameObject.GetComponent <BuildTowerButton>(); _buildTowerButtons.Add(buildTowerButton); buildTowerButton.NameText.text = tower.name; buildTowerButton.TowerImage.sprite = tower.sprite; buildTowerButton.CostText.text = tower.cost.ToString(); buildTowerButton.TowerPrefab = tower.prefab; var selMan = SelectionManager.Instance; button.onClick.AddListener(() => _placer.PlaceTower(buildTowerButton.TowerPrefab.name, selMan.currentlySelectedObject.transform.position + new Vector3(0, .6f, 0), selMan.currentlySelectedObject.transform.rotation)); Debug.Log("PopulatedListOfBuildTowerButtons"); } yield return(new WaitForSeconds(1)); SetOwnership(); }
public TestTowerPlacerScript(TowerPlacer towerPlacer, Tower tower) { for (int y = 0; y < MapManager.LoadedMap.PermittedTowerPlacementTexture.Height / (tower.BaseRadius * 2); y++) { for (int x = 0; x < MapManager.LoadedMap.PermittedTowerPlacementTexture.Width / (tower.BaseRadius * 2); x++) { towerPlacer.TargetTower = tower.Duplicate(); towerPlacer.MoveTower(new Vector2(x * tower.BaseRadius * 2, y * tower.BaseRadius * 2)); towerPlacer.PlaceTower(); } } ControllerGroupId = new HashSet <int>(); }
public void Update(float deltaTime) { if (towerPlacer.HaveTargetTower) { towerPlacer.MoveTower(camera.ScreenToWorldPoint(Mouse.GetState().Position.ToVector2())); if (Mouse.GetState().LeftButton == ButtonState.Pressed) { towerPlacer.PlaceTower(); } else if (Mouse.GetState().RightButton == ButtonState.Pressed) { towerPlacer.TargetTower = null; } } }
public IEnumerator IndicatorPlacesTower() { GameObject baseTower = GameObject.Find("BaseTower"); Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out RaycastHit hit, LayerMask.GetMask("Ground")); EventRegistry.Invoke("togglePlacer", baseTower, hit.point); yield return(new WaitForSeconds(0.5f)); // Create a tower through its intended pathway TowerPlacer placer = GameObject.Find("PlacementIndicator(Clone)").GetComponent <TowerPlacer>(); placer.SetTower(GameObject.Find("BaseTower")); placer.PlaceTower(); yield return(new WaitForSeconds(0.5f)); Assert.IsNotNull(GameObject.Find("BaseTower(Clone)")); }
public void Update(float deltaTime) { if (!MouseOverlapsUI.IsMouseOverUI() && Mouse.GetState().LeftButton == ButtonState.Pressed) { if (towerPlacer.TargetTower != null) { towerPlacer.PlaceTower(); } else { SelectedTower = null; foreach (Tower tower in towerManager.Towers) { if (Circle.Contains(tower.Position, tower.BaseRadius, camera.ScreenToWorldPoint(Mouse.GetState().Position.ToVector2()))) { SelectedTower = tower; break; } } } } }