public override void Attack() { if (!m_CanShoot) { return; } base.Attack(); if (m_ReadyToAttack && m_Target != null) { m_TowerProjectileData = m_Pool.GetFromPool() as TowerProjectile; Transform selectedMuzzle; if (m_ShotLastWithLeft) { selectedMuzzle = m_LeftMuzzle; } else { selectedMuzzle = m_RightMuzzle; } m_ShotLastWithLeft = !m_ShotLastWithLeft; m_Animation.state.SetAnimation(0, "Drum_Turret_ATTACK_" + (m_ShotLastWithLeft ? "RIGHT" : "LEFT"), false); m_Animation.state.AddAnimation(0, "Drum_Turret_IDLE", true, 0); m_TowerProjectileData.SetData(new ProjectileData(selectedMuzzle.position, m_Target, 0.5f, TowerData.AttackDamage)); m_ReadyToAttack = false; m_StartedCooldown = false; } }
public void UpdateDropdown() { dropdown.interactable = true; dropdown.ClearOptions(); towerProjectile = GetComponent <TurretMenu>().turretSelected.GetComponent <TowerProjectile>(); if (towerProjectile) { dropdown.AddOptions(towerProjectile.targetStyles); Debug.Log("projectlie"); dropdown.value = towerProjectile.targetStyles.IndexOf(towerProjectile.targetSelected); } else { towerLaser = GetComponent <TurretMenu>().turretSelected.GetComponent <TowerLaser>(); if (towerLaser) { dropdown.AddOptions(towerLaser.targetStyles); Debug.Log("lasers"); dropdown.value = towerLaser.targetStyles.IndexOf(towerLaser.targetSelected); } else { dropdown.interactable = false; } } dropdown.RefreshShownValue(); }
public void UpdateDropdown() { dropdown.interactable = true; dropdown.gameObject.SetActive(true); dropdown.ClearOptions(); towerProjectile = GetComponent <TurretMenu>().turretSelected.GetComponent <TowerProjectile>(); if (towerProjectile && towerProjectile.targetStyles != null) { dropdown.AddOptions(towerProjectile.targetStyles); dropdown.value = towerProjectile.targetStyles.IndexOf(towerProjectile.targetSelected); } else { towerLaser = GetComponent <TurretMenu>().turretSelected.GetComponent <TowerLaser>(); if (towerLaser && towerLaser.targetStyles != null) { dropdown.AddOptions(towerLaser.targetStyles); dropdown.value = towerLaser.targetStyles.IndexOf(towerLaser.targetSelected); } else { dropdown.interactable = false; dropdown.gameObject.SetActive(false); } } dropdown.RefreshShownValue(); }
private void FireAtCurrentTarget() { if (!config) { return; //config should exist if connection has been made } TowerProjectile projectile = ObjectPooler.GetPool(config.Projectile).ActivateObject(transform.position).GetComponent <TowerProjectile>(); Vector3 pos = transform.position; pos.y = 1.5f; projectile.transform.position = pos; projectile.SetConfig(config); projectile.Launch(currentTarget); if (config.Type == EnergyTypes.MagicMissile) { if (magicSound != null) { magicSound.Play(); } } if (config.Type == EnergyTypes.Ice || config.Type == EnergyTypes.IceMagic || config.Type == EnergyTypes.IceLightning) { if (frostSound != null) { frostSound.Play(); } } if (config.Type == EnergyTypes.Lightning) { if (lightningSound != null) { lightningSound.Play(); } } }
private void Shoot() { GameObject bulletGo = (GameObject)Instantiate(bulletPrefab, firePoint.position, firePoint.rotation); TowerProjectile bullet = bulletGo.GetComponent <TowerProjectile>(); if (bullet != null) { bullet.Seek(targetTransform); } }
public override void Attack() { if (target != null) { GameObject instance = Instantiate(arrowPrefab, transform.position, transform.rotation) as GameObject; TowerProjectile tp = instance.GetComponent <TowerProjectile>(); tp.target = target; tp.tower = this; instance.transform.LookAt(target.transform.position); } }
private void Start() { gcs = FindObjectOfType <GameControllerScr>(); multi = GameObject.Find("Main Camera").GetComponent <Multipliers>(); if (level == 0) { selfProjectile = gcs.AllProjectiles[selfTower.type]; } else if (level == 1) { selfProjectile = gcs.SecondProjectiles[selfTower.type]; } else if (level == 2) { selfProjectile = gcs.ThirdProjectiles[selfTower.type]; } basicDamage = selfProjectile.damage; GetComponent <SpriteRenderer>().sprite = selfProjectile.Spr; }
void Shoot(GameObject target) { if (target == null || target.GetComponent <Minion>().IsDead()) { return; } if (m_isShooting == false) { m_isShooting = true; m_nextFire = Time.time + m_firerate; Vector3 projectile_position = transform.FindChild("SRUAP_OrderTurret1_Idle1").FindChild("Buffbone_Glb_Channel_Loc").position; TowerProjectile projectile = (TowerProjectile)Instantiate(m_projectile, projectile_position, Quaternion.identity); projectile.transform.forward = target.transform.position - projectile.transform.position; projectile.SetTarget(target); m_latestTarget = target; FindObjectOfType <Camera>().GetComponent <SoundManager>().PlaySound("tower_shot_1"); //Debug.Log("Spawning a projectile, target: '" + target.name + "'"); } }
public void SetTarget(Node _target) { this.target = _target; turretImage.sprite = target.turretBlueprint.sprite; turretName.text = target.turretBlueprint.name; //Debug.Log(target.GetComponentInChildren<TowerBase>().GetComponent<TowerProjectile>().bulletPrefab.GetComponent<ProjectileBase>().damage); turretSelected = target.GetComponentInChildren <TowerBase>(); GetComponent <TargetSelectionDropdown>().UpdateDropdown(); rangeText.text = turretSelected.range.ToString(); if (turretSelected.turretMaximized) { btnUpgrade.interactable = false; btnUpgradeText.text = "MAXIMIZED"; } else { btnUpgrade.interactable = true; btnSellText.text = "$" + target.turretBlueprint.GetSellValue(turretSelected.numberOfUpgrades); } btnUpgradeText.text = "$" + target.turretBlueprint.GetUpgradeCost(); //Element Sprite switch (target.turretBlueprint.prefab.GetComponent <TowerBase>().element) { case Enums.Element.fire: elementImage.sprite = fire; elementImage.color = Color.red; break; case Enums.Element.acid: elementImage.sprite = acid; elementImage.color = Color.green; break; case Enums.Element.ice: elementImage.sprite = ice; elementImage.color = Color.cyan; break; case Enums.Element.none: elementImage.sprite = none; break; } towerProjectile = turretSelected.GetComponent <TowerProjectile>(); if (towerProjectile != null) { dmgText.text = towerProjectile.bulletPrefab.GetComponent <ProjectileBase>().damage.ToString(); } else if (turretSelected.GetComponent <TowerNonProjectile>()) { towerNonProjectile = turretSelected.GetComponent <TowerNonProjectile>(); dmgText.text = towerNonProjectile.damage.ToString(); } else { dmgText.text = "-"; } //btnSellText.text ="<b>UPGRADE</b>\n" + target.turretBlueprint.GetSellValue(); //btnUpgradeText.text ="<b>SELL</b>\n" + target.turretBlueprint.GetUpgradePrice(); this.gameObject.SetActive(true); isActive = true; if (anim != null) { anim.Play("TurretMenuSlideIn"); } }
private void Start() { gcs = FindObjectOfType <GameControllerScr>(); selfProjectile = gcs.AllProjectile[selfTower.type]; GetComponent <SpriteRenderer>().sprite = selfProjectile.Spr; }
private void Start() { _gcs = FindObjectOfType <GameControllerScr>(); selfProjectile = _gcs.allTowersProjectiles[selfTower.type]; }