// Use this for initialization void Start() { gameObject.GetComponent <Canvas>().worldCamera = Camera.main; towerScript = actualTower.GetComponent <towerScript>(); radialPanel.transform.position = actualTower.transform.position; upgrade = towerScript.upgrade ? towerScript.upgrade.GetComponent <towerScript>().energy : 0; downgrade = towerScript.energy / 2; towerScript = actualTower.GetComponent <towerScript>(); if (towerScript.upgrade) { upgradeCost.text = "" + upgrade; upgradeButton.onClick.AddListener(OnUpgradeClick); } else { upgradeCost.text = ""; upgradeButton.gameObject.SetActive(false); } downgradeCost.text = "" + downgrade; downgradeButton.onClick.AddListener(OnDowngradeClick); }
public void PopMenu(GameObject tower) { if (isPopped) { CloseMenu(); } selectedTower = tower; isPopped = true; menuInstance = Instantiate(radiusMenu, transform); menuInstance.transform.Find("UpgradeButton").gameObject.SetActive(true); UpgradeRadius radiusScript = menuInstance.GetComponent <UpgradeRadius>(); towerScript towerScript = tower.GetComponent <towerScript>(); if (towerScript.upgrade != null) { towerScript upgradeTowerScript = towerScript. upgrade.GetComponent <towerScript>(); radiusScript.energyCost.text = upgradeTowerScript.energy.ToString(); } else { menuInstance.transform.Find("UpgradeButton").gameObject.SetActive(false); } radiusScript.energyValue.text = (towerScript.energy / 2).ToString(); RectTransform menuRectTransform = menuInstance.GetComponent <RectTransform>(); menuRectTransform.position = tower.transform.position; }
public void setupPowerStation() { towerObject newTowerObj; // Reset conencted tower list //towersConnected.Clear(); //doesnt work yet GameObject[] towerList = GameObject.FindGameObjectsWithTag("tower"); foreach (GameObject towerObj in towerList) { // If the tower is placed and not already powered towerScript towerObjCode = towerObj.GetComponent <towerScript>(); if (towerObjCode.towerPlaced && !towerObjCode.towerPowered) { // If the tower is within range float distanceToEnemy = Vector2.Distance(centerPos, towerObjCode.centerPos); if (distanceToEnemy < range) { // Store connected tower newTowerObj = new towerObject(); newTowerObj.tower = towerObj; towersConnected.Add(newTowerObj); //Debug.Log("Add(newTowerObj)"); } } } }
public void OnBeginDrag(PointerEventData eventData) { GuiWeapon tmp = GetComponentInParent <GuiWeapon> (); if (tmp && tmp.move) { isDragable = true; current = gameObject.transform.GetChild(0).gameObject; if (range != null) { range.enabled = true; } current_script = current.GetComponent <towerScript> (); PosS = transform.position; } else if (GetComponentInParent <FireBall> () && GetComponentInParent <FireBall> ().move) { current = gameObject.transform.GetChild(0).gameObject; isDragable = true; //GetComponentInParent<FireBall> ().move = false; PosS = transform.position; } else { isDragable = false; } }
void refreshTS() { MenuRadial.SetActive(true); TS = current.GetComponent <towerScript>(); if (TS.downgrade != null) { int cost = TS.downgrade.GetComponent <towerScript>().energy / 2; MenuRadial.transform.GetChild(0).GetChild(1).GetChild(1).GetComponent <Text>().text = cost.ToString(); MenuRadial.transform.GetChild(0).GetChild(1).gameObject.SetActive(true); } else { int cost = TS.energy / 2; MenuRadial.transform.GetChild(0).GetChild(1).GetChild(1).GetComponent <Text>().text = cost.ToString(); // MenuRadial.transform.GetChild(0).GetChild(1).GetChild(1).gameObject.SetActive(false); } if (TS.upgrade != null) { MenuRadial.transform.GetChild(0).GetChild(0).GetChild(1).GetComponent <Text>().text = TS.upgrade.GetComponent <towerScript>().energy.ToString(); MenuRadial.transform.GetChild(0).GetChild(0).gameObject.SetActive(true); } else { MenuRadial.transform.GetChild(0).GetChild(0).gameObject.SetActive(false); } MenuRadial.transform.GetChild(0).transform.position = screenPos; // Debug.Log("current.transform.position " + current.transform.position); // Debug.Log("screenPos " + screenPos); }
public void buttonActionHandler() { n++; //Debug.Log("Button clicked " + n + " times."); if (!buttonPressed) { buttonPressed = true; //uiButton.GetComponentInChildren<Text>().text = "Selected"; // Grab cursor pos for initial tower Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 cursonPosition = ray.GetPoint(-ray.origin.z / ray.direction.z); // Create instance of tower GameObject genericTower = (GameObject)Instantiate(towerObject); towerInstance = genericTower.GetComponent(typeof(towerScript)) as towerScript; towerInstance.init(cursonPosition); resetOtherButtons(); } else { buttonPressed = false; } }
public void DowngradeTower() { GameObject tower = upgradeMenu.selectedTower; towerScript towerScript = tower.GetComponent <towerScript>(); towerScript.DowngradeSelf(); CloseMenu(); }
// Use this for initialization void Start() { spawners = GameObject.FindGameObjectsWithTag("spawner"); action = GameObject.Find("RealEnd/ActionButton").GetComponent <ButtonScript> (); menu = GameObject.Find("Menu").GetComponent <MenuScript> (); pause = GameObject.Find("Pause").GetComponent <MenuScript> (); end = GameObject.Find("End").GetComponent <MenuScript> (); last = GameObject.Find("RealEnd").GetComponent <MenuScript> (); if (this == pause) { pause.transform.position += new Vector3(1000, 0, 0); } else if (this == end) { end.transform.position += new Vector3(1000, 0, 0); } else if (this == last) { last.gameObject.GetComponent <Canvas> ().planeDistance = 0; } playerHp = GameObject.Find("MenuPlayer/LifePlayer/Text").GetComponent <Text> (); playerEnergy = GameObject.Find("MenuPlayer/EnergyPlayer/Text").GetComponent <Text> (); tower0[0] = GameObject.Find("MenuTowers/CanvasTower1/InfosTower/EnergyTower/Text").GetComponent <Text> (); tower0[1] = GameObject.Find("MenuTowers/CanvasTower1/InfosTower/DamageTower/Text").GetComponent <Text> (); tower0[2] = GameObject.Find("MenuTowers/CanvasTower1/InfosTower/RangeTower/Text").GetComponent <Text> (); tower0[3] = GameObject.Find("MenuTowers/CanvasTower1/InfosTower/WaitTower/Text").GetComponent <Text> (); tower1[0] = GameObject.Find("MenuTowers/CanvasTower2/InfosTower/EnergyTower/Text").GetComponent <Text> (); tower1[1] = GameObject.Find("MenuTowers/CanvasTower2/InfosTower/DamageTower/Text").GetComponent <Text> (); tower1[2] = GameObject.Find("MenuTowers/CanvasTower2/InfosTower/RangeTower/Text").GetComponent <Text> (); tower1[3] = GameObject.Find("MenuTowers/CanvasTower2/InfosTower/WaitTower/Text").GetComponent <Text> (); tower2[0] = GameObject.Find("MenuTowers/CanvasTower0/InfosTower/EnergyTower/Text").GetComponent <Text> (); tower2[1] = GameObject.Find("MenuTowers/CanvasTower0/InfosTower/DamageTower/Text").GetComponent <Text> (); tower2[2] = GameObject.Find("MenuTowers/CanvasTower0/InfosTower/RangeTower/Text").GetComponent <Text> (); tower2[3] = GameObject.Find("MenuTowers/CanvasTower0/InfosTower/WaitTower/Text").GetComponent <Text> (); towerScript gat1 = GameObject.Find("gatling_1").GetComponent <towerScript> (); towerScript roc1 = GameObject.Find("rocket_1").GetComponent <towerScript> (); towerScript can1 = GameObject.Find("canon_1").GetComponent <towerScript> (); playerHp.text = gameManager.gm.playerHp.ToString(); playerEnergy.text = gameManager.gm.playerEnergy.ToString(); tower0[0].text = gat1.energy.ToString(); tower0[1].text = gat1.damage.ToString(); tower0[2].text = gat1.range.ToString(); tower0[3].text = gat1.fireRate.ToString(); tower1[0].text = roc1.energy.ToString(); tower1[1].text = roc1.damage.ToString(); tower1[2].text = roc1.range.ToString(); tower1[3].text = roc1.fireRate.ToString(); tower2[0].text = can1.energy.ToString(); tower2[1].text = can1.damage.ToString(); tower2[2].text = can1.range.ToString(); tower2[3].text = can1.fireRate.ToString(); }
void PickTarget() { towerScript closestTower = get_tower(); if (closestTower != null) { Target = closestTower.transform; } }
private void Start() { towerScript towerScript = tower.GetComponent <towerScript>(); towerCost = towerScript.energy; spriteRenderer = GetComponent <SpriteRenderer>(); print(rangeCircle.localScale); rangeCircle.localScale *= towerScript.range / 2; }
public void UpgradeTower() { GameObject tower = upgradeMenu.selectedTower; towerScript towerScript = tower.GetComponent <towerScript>(); if (towerScript.CanUpgrade()) { towerScript.UpgradeSelf(); CloseMenu(); } }
// Use this for initialization void Start() { move = true; bkp_energy = gM_obj.playerEnergy; logo = GetComponentInChildren <Image> (); ToweClass = GetComponentInChildren <towerScript> (); energy.GetComponent <Text>().text = ToweClass.energy.ToString(); damage.GetComponent <Text>().text = ToweClass.damage.ToString(); dps.GetComponent <Text>().text = ToweClass.fireRate.ToString(); range.GetComponent <Text>().text = ToweClass.range.ToString(); }
// targets tower towerScript get_tower() { towerScript result = null; float closest_distance = 50000000; Vector3 myposition = transform.position; foreach (towerScript tower in towerScript.AllTowers) { bool opponettower = true; bool toweronplayerteam = tower.m_teamAllegiance == Allegiance.BLUE; bool toweronenemyteam = tower.m_teamAllegiance == Allegiance.RED; //tells mionion if on tower team and targets that tower if (toweronplayerteam) { if (miniononplayerteam) { opponettower = false; } else { opponettower = true; } } else if (toweronenemyteam) { if (miniononplayerteam) { opponettower = true; } else { opponettower = false; } } else { opponettower = true; } if (opponettower == true) { Vector3 towerpos = tower.transform.position; float distance = Vector3.Distance(myposition, towerpos); if (distance < closest_distance) { closest_distance = distance; result = tower; } } } return(result); }
void Start() { gameManager = GameObject.Find("GameManager") .GetComponent <gameManager>(); towerScript = tower.GetComponent <towerScript>(); // Tower stats damage.text = "" + towerScript.damage; price.text = "" + towerScript.energy; fireRate.text = "" + towerScript.fireRate; range.text = "" + towerScript.range; }
public void addTower(gameManager playerInfo, GameObject spawn) { if (!tower) { towerScript towerInfo = spawn.GetComponent <towerScript>(); if (playerInfo.playerEnergy - towerInfo.energy >= 0) { tower = (GameObject)GameObject.Instantiate(spawn, transform.position, Quaternion.identity); playerInfo.playerEnergy -= towerInfo.energy; } } }
public void OnEndDrag(PointerEventData eventData) { int i = 0; RaycastHit2D bkp; if (isDragable) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit2D[] hits = Physics2D.RaycastAll(ray.origin, ray.direction, Mathf.Infinity); foreach (RaycastHit2D hit in hits) { if (hit.collider != null) { Debug.Log(hit.collider.tag); if (hit.collider.tag == "empty") { bkp = hit; i++; } if (hit.collider.tag == "tower") { i--; } if (current_script == null && current) { GetComponentInParent <FireBall> ().move = false; current.transform.position = new Vector3(0, 0, 0); GameObject tp = Instantiate(current, hits[0].collider.gameObject.transform.position, gameObject.transform.rotation) as GameObject; tp.SetActive(true); current = null; transform.position = PosS; return; } } } if (i == 1 && current_script && gM_obj.playerEnergy >= current_script.energy) { gM_obj.playerEnergy -= current_script.energy; if (range != null) { range.enabled = false; } current.transform.position = new Vector3(0, 0, 0); Instantiate(current, bkp.collider.gameObject.transform.position, gameObject.transform.rotation); } current = null; current_script = null; transform.position = PosS; } }
private void computeTowerData() { towerData = tower.GetComponent <towerScript>(); if (towerData.upgrade != null) { upgradeCost = towerData.upgrade.GetComponent <towerScript>().energy; } else { upgradeCost = 0; } sellText.text = towerData.energy.ToString(); upgradeText.text = upgradeCost > 0 ? upgradeCost.ToString() : "NONE"; }
void Start() { downBarManagerUI = downBarUI.GetComponent <ManagerUI>(); itemUITowerIcon = towerIcon.GetComponent <ItemUI>(); towerScriptTowerPrefab = itemUITowerIcon.towerPrefab.GetComponent <towerScript>(); damageText.text = towerScriptTowerPrefab.damage.ToString(); rangeText.text = towerScriptTowerPrefab.range.ToString(); energyText.text = towerScriptTowerPrefab.energy.ToString(); waitText.text = towerScriptTowerPrefab.fireRate.ToString(); /*if (downBarManagerUI.canDownEnergy(towerScriptTowerPrefab.energy)) * isCanDownEnergy = true;*/ //Debug.Log("tettttt :"+towerScriptTowerPrefab.damage); }
void ShootRayAndPositionMenu() { RaycastHit2D[] hits = Physics2D.RaycastAll(shootVec, Vector2.zero); foreach (RaycastHit2D hit in hits) { if (hit && hit.collider.gameObject.CompareTag("tower") && hit.collider.gameObject.transform.parent.gameObject.GetComponent <towerScript>()) { towerObj = hit.collider.gameObject.transform.parent.gameObject; tower = towerObj.GetComponent <towerScript>(); panelRadialMenu.gameObject.transform.position = hit.collider.gameObject.transform.position; SetupMenu(); return; } } panelRadialMenu.gameObject.SetActive(false); }
public bool placeBaseFinal() { // Check to see if selected cell has a tower already built at that location GameObject[] towerList = GameObject.FindGameObjectsWithTag("tower"); foreach (GameObject towerObj in towerList) { towerScript towerObjCode = towerObj.GetComponent <towerScript>(); if ((towerObjCode.currentCell == currentCell) && (towerObjCode.towerPlaced)) { // Replace existing tower tile //Debug.Log(prevTile.name); prevTile = CustomTile.CreateCustomTile(prevTileSprite); towerLevelMap.SetTile(currentCell, prevTile); return(false); } } // Do the same check for power stations // Only place tower if we have the coin Text coinValue = GameObject.Find("coinValue").GetComponent <Text>(); int coinRemaining = (int.Parse(coinValue.text) - cost); if (coinRemaining > 0) { coinValue.text = coinRemaining.ToString(); } else { return(false); } // Flag that the tower has been placed stationPlaced = true; // remove the range marker stationRangeMarkerVisible = false; // Tell path generator to update path if the tower is placed on the path GameObject.Find("pathGenerator").GetComponent <pathGeneratorScript>().newTowerLocation(currentCell); return(true); }
public void UpdateTowerData(towerScript towerObj) { this.towerObj = towerObj; // Update text values with data from tower object towerName.text = towerObj.towerName; damageValue.text = towerObj.towerDamage.ToString(); speedValue.text = towerObj.towerSpeed.ToString(); rangeValue.text = towerObj.towerRange.ToString(); levelValue.text = towerObj.towerLevel.ToString(); if (towerObj.towerPowered) { damageValuePowered.text = "+" + towerObj.towerPoweredDamageBoost.ToString(); speedValuePowered.text = "-" + towerObj.towerPoweredSpeedBoost.ToString(); rangeValuePowered.text = "---"; } upgradeCostValue.text = towerObj.towerUpgradeCost.ToString(); }
// Use this for initialization void Start() { if (!towerPrefab) { return; } towerScript tower = towerPrefab.GetComponent <towerScript>(); energy.text = tower.energy.ToString(); damage.text = tower.damage.ToString(); range.text = tower.range.ToString(); fireRate.text = tower.fireRate.ToString(); if (tower.type == towerScript.Type.canon) { flyImage.sprite = noFly; } else { flyImage.sprite = fly; } towerImage.sprite = towerSprite; }
void PlaceBlock(Ray ray, VoxelType type) { if (type != VoxelType.Strong && type != VoxelType.Weak) { return; } RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, ReachDistance, ReachMask)) { if (hitInfo.collider is BoxCollider) { Voxel voxel = VoxelWorld.Inst.GetVoxelFromCollider(hitInfo.collider as BoxCollider); if (voxel != null) { float threshold = 0.1f; IntVec3 offset = new IntVec3(0, 0, 0); if (hitInfo.normal.y > threshold) { offset.Y = 1; } else if (hitInfo.normal.x > threshold) { offset.X = 1; } else if (hitInfo.normal.z > threshold) { offset.Z = 1; } else if (hitInfo.normal.y < -threshold) { offset.Y = -1; } else if (hitInfo.normal.x < -threshold) { offset.X = -1; } else if (hitInfo.normal.z < -threshold) { offset.Z = -1; } IntVec3 placePos = voxel.Position.Offset(offset); if (VoxelWorld.Inst.IsVoxelWorldIndexValid(placePos.X, placePos.Y, placePos.Z)) { Voxel placeVoxel = VoxelWorld.Inst.GetVoxel(placePos); Vector3 VoxelPos = new Vector3(placeVoxel.Position.X, placeVoxel.Position.Y, placeVoxel.Position.Z); if (placeVoxel.TypeDef.Type == VoxelType.Air) { towerScript[] towers = GameObject.FindObjectsOfType <towerScript>(); for (int i = 0; i < towers.Length; i++) { towerScript tower = towers[i]; float distanceToTower = (tower.transform.position - VoxelPos).magnitude; if (distanceToTower < TowerBufferDist) { return; } } if (type == VoxelType.Strong) { if (Energy >= StrongCost) { placeVoxel.SetType(type); VoxelWorld.Inst.Refresh(); PlayPlaceSound(); Energy -= StrongCost; } } else { if (Energy >= WeakCost) { placeVoxel.SetType(type); VoxelWorld.Inst.Refresh(); PlayPlaceSound(); Energy -= WeakCost; } } } } } } } }
// Handles logic to launch submenuscript. If the user selects a tile, we check to see // if a tower exists at that tile and enable the menu. void Update() { Vector2 localMousePosition; RectTransform rt; if (Input.GetMouseButtonDown(0)) { // Hide menu anytime we click elsewhere if (towerMenuInstance.menuVisible) { localMousePosition = towerMenuInstance.transform.InverseTransformPoint(Input.mousePosition); rt = towerMenu.GetComponent(typeof(RectTransform)) as RectTransform; if (!rt.rect.Contains(localMousePosition)) { //Debug.Log("Hide sub menu."); towerMenuInstance.hideMenu(); if (currentSelectedTower != null) { // Hide range circle currentSelectedTower.towerRangeMarkerVisible = false; currentSelectedTower = null; } } // Break so we do not relocate the menu until use has clicked elsewhere return; } if (stationMenuInstance.menuVisible) { localMousePosition = stationMenuInstance.transform.InverseTransformPoint(Input.mousePosition); rt = powerStationMenu.GetComponent(typeof(RectTransform)) as RectTransform; if (!rt.rect.Contains(localMousePosition)) { //Debug.Log("Hide sub menu."); stationMenuInstance.hideMenu(); //if (currentSelectedTower != null) //{ // Hide range circle //currentSelectedTower.towerRangeMarkerVisible = false; //currentSelectedTower = null; //} } // Break so we do not relocate the menu until use has clicked elsewhere return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 cursonPosition = ray.GetPoint(-ray.origin.z / ray.direction.z); Vector3Int cellSelected = towerLevelMap.WorldToCell(cursonPosition); // Check to see if selected cell has a tower built at that location GameObject[] towerList = GameObject.FindGameObjectsWithTag("tower"); foreach (GameObject towerObj in towerList) { towerScript towerObjCode = towerObj.GetComponent <towerScript>(); if (towerObjCode == null) { continue; } if (towerObjCode.currentCell == cellSelected) { if (towerObjCode.towerBuildComplete) { //Debug.Log("Show sub menu."); currentSelectedTower = towerObjCode; // Update menu data towerMenuInstance.UpdateTowerData(towerObjCode); towerMenuInstance.showMenu(); // Move menu to selected tower Vector3 newMenuPos = Camera.main.WorldToScreenPoint(towerLevelMap.GetCellCenterWorld(cellSelected)); newMenuPos.x += 120; newMenuPos.y += 40; towerMenuInstance.transform.position = newMenuPos; // Show range circle towerObjCode.towerRangeMarkerVisible = true; } } } // Check to see if selected cell has a power station built at that location GameObject[] stationList = GameObject.FindGameObjectsWithTag("station"); foreach (GameObject powerStationObj in stationList) { powerStationScript powerStationObjCode = powerStationObj.GetComponent <powerStationScript>(); if (powerStationObjCode == null) { continue; } if (powerStationObjCode.currentCell == cellSelected) { if (powerStationObjCode.stationRunning) { //Debug.Log("Show sub menu."); //currentSelectedTower = towerObjCode; // Update menu data //towerMenuInstance.UpdateTowerData(towerObjCode); stationMenuInstance.showMenu(); // Move menu to selected tower Vector3 newMenuPos = Camera.main.WorldToScreenPoint(towerLevelMap.GetCellCenterWorld(cellSelected)); newMenuPos.x += 120; newMenuPos.y += 40; stationMenuInstance.transform.position = newMenuPos; // Show range circle //towerObjCode.towerRangeMarkerVisible = true; } } } } }
// public void moveImage () { // } void HitGameObject() { if (Input.GetMouseButton (0)) { if (!startDrag) { getCollider (); } else { currentPos = Camera.main.ScreenToWorldPoint (Input.mousePosition); currentPos.z = 0; image.gameObject.transform.position = currentPos; } } else if (Input.GetMouseButtonUp (0) && startDrag) { Debug.Log (image.gameObject.name); startDrag = false; Debug.Log (weapon.type); //Debug.Log (weapon.damage); //Debug.Log (weapon.range); clone = (towerScript)Instantiate (weapon, currentPos, Quaternion.identity); //Debug.Log ("weapon dragged"); image.gameObject.transform.position = initialPos; } }
void Update() { PickTarget(); //RotateView(); Vector3 targetPos = Target != null ? Target.position : Vector3.zero; TurnTowardTarget(targetPos); towerScript closesttower = get_tower(); if (closesttower != null) { //distance to tower that would destroy sheep float closesttower_distance = (closesttower.transform.position - this.transform.position).magnitude; if (closesttower_distance < 3) { GameObject.Destroy(this.gameObject); closesttower.towerHasBeenAttacked(this); } } // the jump state needs to read here to make sure it is not missed if (!m_Jump) { m_Jump = true; } if (!m_PreviouslyGrounded && m_CharacterController.isGrounded) { //StartCoroutine(m_JumpBob.DoBobCycle()); //PlayLandingSound(); m_MoveDir.y = 0f; m_Jumping = false; } if (!m_CharacterController.isGrounded && !m_Jumping && m_PreviouslyGrounded) { m_MoveDir.y = 0f; } m_PreviouslyGrounded = m_CharacterController.isGrounded; // Optionally kill minions if enough time has passed if (enableDeathTimer) { totalLifeTime -= Time.deltaTime; if (totalLifeTime <= 0.0f) { GameObject.Destroy(this.gameObject); return; } } // Hack fix for minions falling out of the world, kill them if (this.transform.position.y < 0) { GameObject.Destroy(this.gameObject); } }
/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { towerBehaviour = tower.GetComponent <towerScript>(); towerInfos.text = "Cost: " + towerBehaviour.energy + "\nDamages: " + towerBehaviour.damage + "\nFire Rate: " + towerBehaviour.fireRate + "\nRange: " + towerBehaviour.range; }