public void ResetInfo(TowerBehaviour tower) { levelText.text = "Level: " + tower.Level.ToString(); damageText.text = "Damage: " + tower.Damage.ToString("F1"); attackSpeedText.text = "AttackSpeed: " + tower.SpeedAttack.ToString("F1"); costText.text = "Cost: " + tower.Cost.ToString("F1"); }
//private float bulletShootRate = 15; //public float BulletSpeed{get{return bulletShootRate;}set{bulletShootRate = value;}} // Use this for initialization void Awake() { GameObject towerStats = GameObject.Find("TowerBase"); TowerBehaviour stats = towerStats.GetComponent <TowerBehaviour>(); currency = 1000000; }
private void Awake() { enemiesList = new List <GameObject>(); ProjectilePool = new Queue <GameObject>(); PoolingProjectile(); myTowerBehav = myTower.GetComponent <TowerBehaviour>(); }
private void OnTriggerExit(Collider other) { if (!other.name.Contains(myChampBehav.Team) && other.tag.Equals("Minion")) { RemoveEnemiesList(other); } else if (other.tag.Equals("Tower")) { TowerBehaviour behav = other.gameObject.GetComponent <TowerBehaviour>(); if (!myChampBehav.Team.Equals(behav.Team)) { RemoveEnemiesList(other); } } else if (other.tag.Equals("Suppressor") || other.tag.Equals("Nexus")) { SuppressorBehaviour behav = other.gameObject.GetComponent <SuppressorBehaviour>(); //if (behav.isCanAtkMe) if (!myChampBehav.Team.Equals(behav.Team)) { RemoveEnemiesList(other); } } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Monster"))) { RemoveEnemiesList(other); } }
public void UpgradeTower() { //check if current tower is a single shot tower (will possible be changed) and apply the upgrade if (currentTower != null && currentTower.GetComponent <TowerBehaviour>() != null) { TowerBehaviour towerBehaviour = currentTower.GetComponent <TowerBehaviour>(); if (stats.currentMoney >= towerBehaviour.upgradeCost) { stats.currentMoney -= towerBehaviour.upgradeCost; towerBehaviour.damage = 2; towerBehaviour.shootTimer = 0.25f; currentTower.GetComponent <Renderer>().material.color = Color.blue; towerBehaviour.upgraded = true; } } //check if current tower is an AoE tower (will possible be changed) and apply the upgrade else if (currentTower != null && currentTower.GetComponent <AoETowerBehaviour>() != null) { AoETowerBehaviour towerBehaviour = currentTower.GetComponent <AoETowerBehaviour>(); if (stats.currentMoney >= towerBehaviour.upgradeCost) { stats.currentMoney -= towerBehaviour.upgradeCost; towerBehaviour.damage = 2; towerBehaviour.numberOfProjectiles = 8; towerBehaviour.shootTimer = 0.5f; currentTower.transform.GetChild(2).gameObject.SetActive(false); currentTower.transform.GetChild(3).gameObject.SetActive(true); currentTower.transform.GetChild(1).GetComponent <Renderer>().material.color = Color.blue; towerBehaviour.Start(); towerBehaviour.upgraded = true; } } }
private void OnTriggerExit(Collider other) { // 적이 공격 반경에서 나간다면 적 리스트에서 제거한다 if (!other.name.Contains(myChampBehav.team) && other.tag.Equals("Minion")) { RemoveEnemiesList(other); } else if (other.tag.Equals("Tower")) { TowerBehaviour towerBehav = other.gameObject.GetComponent <TowerBehaviour>(); if (!myChampBehav.team.Equals(towerBehav.team)) { RemoveEnemiesList(other); } } else if (other.tag.Equals("Suppressor") || other.tag.Equals("Nexus")) { SuppressorBehaviour supBehav = other.gameObject.GetComponent <SuppressorBehaviour>(); if (!myChampBehav.team.Equals(supBehav.team)) { RemoveEnemiesList(other); } } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Monster"))) { RemoveEnemiesList(other); } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Champion"))) { RemoveEnemiesList(other); } }
private void OnTriggerEnter(Collider other) { // 공격 반경에 적이 들어온다면 적 리스트에 추가한다. (논 타겟팅 어택 명령을 위한 것) if (!other.name.Contains(myChampBehav.team) && other.tag.Equals("Minion")) { AddEnemiesList(other); } else if (other.tag.Equals("Tower")) { TowerBehaviour towerBehav = other.gameObject.GetComponent <TowerBehaviour>(); if (!myChampBehav.team.Equals(towerBehav.team)) { AddEnemiesList(other); } } else if (other.tag.Equals("Suppressor") || other.tag.Equals("Nexus")) { SuppressorBehaviour supBehav = other.gameObject.GetComponent <SuppressorBehaviour>(); if (!myChampBehav.team.Equals(supBehav.team)) { AddEnemiesList(other); } } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Monster"))) { AddEnemiesList(other); } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Champion"))) { AddEnemiesList(other); } }
private void Start() { towerBehaviour = GetComponentInParent <TowerBehaviour>(); text = GetComponent <TextMesh>(); text.text = "0"; towerBehaviour.OnUpdate += LevelUpdateView; }
IEnumerator AtkMotion() { while (true) { if (!isAtkPause) { bool check = true; if (!isTargetting) { check = false; } else if (AtkTargetObj == null) { check = false; } else if (AtkTargetObj.Equals(AStarTargetObj)) { check = false; } if (check) { if (AtkTargetObj.tag.Equals("Minion")) { MinionBehavior behav = AtkTargetObj.GetComponent <MinionBehavior>(); if (behav != null) { if (behav.HitMe(myChampionData.mystat.Attack_Damage, "AD")) { ResetTarget(); } } } else if (AtkTargetObj.tag.Equals("Player")) {//이 태그대로 할건지 바뀌는지는 모르겠음. 우선 챔피언 공격임. ChampionBehavior behav = AtkTargetObj.GetComponent <ChampionBehavior>(); if (behav != null) { if (behav.HitMe(myChampionData.mystat.Attack_Damage, "AD", gameObject)) { ResetTarget(); } } } else if (AtkTargetObj.tag.Equals("Tower")) { TowerBehaviour behav = AtkTargetObj.GetComponent <TowerBehaviour>(); if (behav != null) { if (behav.HitMe(myChampionData.mystat.Attack_Damage)) { ResetTarget(); } } } } } yield return(new WaitForSeconds(1)); } }
private void Awake() { mainCamera = Camera.main; myCanvas = GameObject.FindGameObjectWithTag("HpbarCanvas").GetComponent <Canvas>(); TheFogEntity = GetComponent <FogOfWarEntity>(); towerBehaviour = GetComponent <TowerBehaviour>(); team = towerBehaviour.Team.ToLower(); }
public void TowerDestroyed(TowerBehaviour tower) { // Update list of towers. allTowers.Remove(tower); // Update number of active towers. towersBuilt[tower.type] -= 1; }
private void InstantiateTowerRadiusObject(GameObject newTowerObject, TowerBehaviour newTowerBehaviour) { var towerRadiusObject = GameObject.Instantiate(GuiController.Instance.TowerRadius, newTowerObject.transform.position, Quaternion.Euler(new Vector3(90, 0, 0))); towerRadiusObject.transform.SetParent(newTowerObject.transform); towerRadiusObject.GetComponent <RectTransform>().sizeDelta = new Vector2(newTowerBehaviour.Tower.Range * 2, newTowerBehaviour.Tower.Range * 2); newTowerBehaviour.TowerRadius = towerRadiusObject; }
// Use this for initialization void Start() { if (transform.GetComponent <TowerBehaviour>() != null) { towerBehaviour = transform.GetComponent <TowerBehaviour>(); } f_maxHealth = f_health; f_previousHealth = f_health; }
public override void OnInspectorGUI() { TowerBehaviour target = (TowerBehaviour)this.target; target.enemyLayer = EditorGUILayout.LayerField("Enemy Layer", target.enemyLayer); target.reach = EditorGUILayout.IntSlider("Reach", target.reach, 0, 10); target.cooldownTime = EditorGUILayout.IntSlider("Cooldown Time (s)", target.cooldownTime, 1, 10); EditorGUILayout.LabelField("Current Cooldown", target.currentCooldown.ToString()); }
private void Awake() { enemiesList = new List <GameObject>(); ProjectilePool = new Queue <GameObject>(); shootPointBlue = transform.GetChild(0).transform; PoolingProjectile(); myTowerBehav = myTower.GetComponent <TowerBehaviour>(); sysmsg = GameObject.FindGameObjectWithTag("SystemMsg").GetComponent <SystemMessage>(); }
public void UpgradeTowerFireRate() { if ((resource.wood >= 50 + (50 * towerUpgradeCostFireRate)) && (resource.gold >= 50 + (50 * towerUpgradeCostFireRate)) && (resource.barracks >= 1)) { TowerBehaviour.ChangeFireRate(0.1f); resource.RemoveGold(50 + (50 * towerUpgradeCostFireRate)); resource.RemoveWood(50 + (50 * towerUpgradeCostFireRate)); towerUpgradeCostFireRate++; } }
public int GetSessionCurrencyCostForTower(TowerBehaviour tower) { // Based on the tower's base cost and the number of towers, returns the currency cost. int towersCount; towersBuilt.TryGetValue(tower.type, out towersCount); // TODO: maybe work on this formula? return(tower.sessionCurrencyCost + (int)(towersCount * Mathf.Sqrt(towersCount) * tower.sessionCurrencyAdditionalCostPerTower)); }
// Start is called before the first frame update void Start() { _image = GetComponent <Image>(); _button = GetComponent <Button>(); _infos.gameObject.SetActive(false); mouse_in = false; _active = false; SelectedTower = selected_tower.GetComponent <TowerBehaviour>(); _player = Player.GetComponent <PlayerBehaviour>(); }
private void Awake() { enemiesList = new List <GameObject>(); projectilePool = new Queue <GameObject>(); shootPointTransform = transform.GetChild(0).transform; PoolingProjectile(); myTowerBehav = myTower.GetComponent <TowerBehaviour>(); sysMsg = GameObject.FindGameObjectWithTag("SystemMsg").GetComponent <SystemMessage>(); towerProjectileHitObj = Instantiate(towerProjectileHitPrefab, transform.position, Quaternion.identity, transform); towerProjectileHitObj.SetActive(false); }
// Update is called once per frame void Update() { /* Alternate behaviour: always go to nearest tower. */ List <TowerBehaviour> towers = gameplayManager.GetTowers(); TowerBehaviour closestTower = FindClosestTower(towers); if (closestTower) { shooter.GetComponent <EnemyShooterController> ().target = closestTower.transform; } }
// select Tower, also enable descriptor void OnTowerSelected(TowerBehaviour obj) { selectedTower = obj; desc.changeDescriptor(selectedTower.getTowerType()); desc.gameObject.SetActive(true); foreach (Button button in buttons) { button.interactable = true; } this.gameObject.SetActive(true); }
void CreateATower(Vector2Int position, float height, Color color) { // Simple instantiation for now GameObject tower = GameObject.Instantiate(towerReference).gameObject; TowerBehaviour towerBehaviour = tower.GetComponent <TowerBehaviour>(); tower.transform.parent = centerAnchor; tower.transform.position = new Vector3(position.x, 0, position.y); towerBehaviour.SetHeight(height); tower.GetComponent <Renderer>().material.SetColor("_Color", color); }
// Use this for initialization void Start() { gameCounter = GameObject.Find("GameCounter"); gc = gameCounter.GetComponent <GameCounter>(); mTrackableBehaviour = GetComponent <TrackableBehaviour>(); if (mTrackableBehaviour) { mTrackableBehaviour.RegisterTrackableEventHandler(this); } tb = turret.GetComponent <TowerBehaviour>(); }
public void ShowInfo(TowerBehaviour tower) { if (currentTower != null) { currentTower.GetComponent <Outline>().enabled = false; currentTower.ReturnRangeAttack.GetComponent <Outline>().enabled = false; } currentTower = tower; currentTower.GetComponent <Outline>().enabled = true; currentTower.ReturnRangeAttack.GetComponent <Outline>().enabled = true; gameObject.SetActive(true); ResetInfo(tower); }
protected async void RepairLoop() { TowerBehaviour initialTowerTarget = TargetTower; while (!unitGravityBody.IsMoving && CurrentHealth > 0 && TargetTower == initialTowerTarget && TargetTower.CurrentHealth < 100) { initialTowerTarget = TargetTower; await new WaitForSeconds(0.5f); print($"Repaired tower {TargetTower.name} by {repairUnitData.RepairAmount}"); TargetTower.Repair(repairUnitData.RepairAmount); await new WaitForSeconds(repairUnitData.RepairCooldown); } }
protected async void AttackTowerLoop() { TowerBehaviour initialTowerTarget = TargetTower; while (!unitGravityBody.IsMoving && CurrentHealth > 0 && TargetTower == initialTowerTarget && TargetTower.CurrentHealth > 0) { initialTowerTarget = TargetTower; await new WaitForSeconds(0.5f); print($"Attacked tower {TargetTower.name} by {attackerUnitData.AttackAmount}"); TargetTower.TakeDamage(attackerUnitData.AttackAmount); await new WaitForSeconds(attackerUnitData.AttackCooldown); } }
private void OnTriggerEnter(Collider other) { if (!PhotonNetwork.isMasterClient) { return; } int tp = 6; if (other.name.Contains(enemyColor) && other.tag.Equals("Minion")) { AddEnemiesList(other); tp = 3; } else if (other.gameObject.layer.Equals(LayerMask.NameToLayer("Champion"))) { if (other.GetComponent <ChampionBehavior>().Team.Equals(enemyColor)) { AddEnemiesList(other); tp = 5; } } else if (other.tag.Equals("Tower")) { TowerBehaviour t = other.GetComponent <TowerBehaviour>(); if (t.isCanAtkMe) { if (t.Team.Equals(enemyColor)) { AddEnemiesList(other); tp = 4; } } } else if (other.tag.Equals("Suppressor") || other.tag.Equals("Nexus")) { SuppressorBehaviour s = other.GetComponent <SuppressorBehaviour>(); if (s.isCanAtkMe) { if (s.Team.Equals(enemyColor)) { AddEnemiesList(other); tp = 4; } } } if (tp < targetPriority) { TargetSearch(); } }
public void TowerBuilt(TowerBehaviour tower) { // Update session currency. sessionCurrencyManager.SubstractSessionCurrency(GetSessionCurrencyCostForTower(tower)); // Update list of towers. allTowers.Add(tower); // Update number of active towers. int oldValue; towersBuilt.TryGetValue(tower.type, out oldValue); towersBuilt [tower.type] = oldValue + 1; }
private void OnEnable() { myteam = PhotonNetwork.player.GetTeam().ToString().ToLower(); Icon = GetComponent <SpriteRenderer>(); MinionRed = Resources.Load <Sprite>("Minimap/MIcon_Red_Minion"); MinionBlue = Resources.Load <Sprite>("Minimap/MIcon_Blue_Minion") as Sprite; TowerRed = Resources.Load <Sprite>("Minimap/MIcon_Red_Tower") as Sprite; TowerBlue = Resources.Load <Sprite>("Minimap/MIcon_Blue_Tower") as Sprite; if (transform.parent.name.Contains("Minion")) { MBehavior = transform.parent.GetComponent <MinionBehavior>(); if (myteam.Equals(MBehavior.team.ToString().ToLower())) { Icon.sprite = MinionBlue; } else { Icon.sprite = MinionRed; } transform.localPosition = new Vector3(0, 200, 0); transform.localRotation = Quaternion.Euler(90, 0, 0); transform.localScale = new Vector3(3, 3, 3); } else if (transform.parent.name.Contains("Tower")) { TBehavior = transform.parent.GetComponent <TowerBehaviour>(); if (myteam.Equals(TBehavior.Team.ToString().ToLower())) { Icon.sprite = TowerBlue; } else { Icon.sprite = TowerRed; } } else if (transform.parent.name.Contains("Nexus") || transform.parent.name.Contains("Suppressor")) { SBehavior = transform.parent.GetComponent <SuppressorBehaviour>(); if (myteam.Equals(SBehavior.Team.ToString().ToLower())) { Icon.sprite = TowerBlue; } else { Icon.sprite = TowerRed; } } }
private void OnTriggerExit(Collider other) { if (!other.name.Contains(myChampBehav.Team) && other.tag.Equals("Minion")) { RemoveEnemiesList(other); } else if (other.tag.Equals("Tower")) { TowerBehaviour behav = other.gameObject.GetComponent <TowerBehaviour>(); if (!myChampBehav.Team.Equals(behav.Team)) { RemoveEnemiesList(other); } } }
void Start() { parent = transform.parent.gameObject.GetComponent<TowerBehaviour>(); }