public float BuildingComplete(int level) { if (!_isSet) { SetUpComponent(); } //Set new structure sprite if (level == 1) { this.transform.GetComponent <SpriteRenderer>().sprite = _builtSpriteLevel1; } else if (level == 2) { this.transform.GetComponent <SpriteRenderer>().sprite = _builtSpriteLevel2; } else if (level == 3) { this.transform.GetComponent <SpriteRenderer>().sprite = _builtSpriteLevel3; } //increment Population Capacity //Note: its okay that this is called again when Loading Save Data, becuz the save data gets called after and overwrites it thankfully BuildableObject scr = GetComponent <BuildableObject>(); if (scr) { if (scr.getTeam() == 1) { ResourceManagerScript.Instance.incrementPopulationCapacity(capacityIncrementAmount[level] - capacityIncrementAmount[level - 1]); } } return(_hitpoints + (_hitPointGrowth * level)); }
public void CheckEnemy() { BuildableObject b = this.GetComponent <BuildableObject>(); if (b) { if (b.getTeam() == 2) { b.SetType("Outpost"); b.SetLevel(1); b.BuildComplete(); } } }
public void DemolishAction(int level) { //decrement Population Capacity BuildableObject scr = GetComponent <BuildableObject>(); //get if on player team if (scr) { if (scr.getTeam() == 1) { ResourceManagerScript.Instance.incrementPopulationCapacity(-capacityIncrementAmount[level]); } } }
public void CheckEnemy() { BuildableObject b = this.GetComponent <BuildableObject>(); if (b) { if (b.getTeam() == 2) { b.SetType("TownCenter"); b.SetLevel(1); GameManager.Instance.setTownCenter(this); b.BuildComplete(); } else { GameManager.Instance.setTownCenter(this); } } }
void OnTriggerEnter2D(Collider2D hitInfo) { // Put proper hit detection code here if (hitInfo.transform.parent) { Rodent unknownRodent = hitInfo.transform.parent.gameObject.GetComponent <Rodent>(); PlayerStats king = hitInfo.transform.parent.gameObject.GetComponent <PlayerStats>(); BuildableObject unknownBuilding = hitInfo.transform.parent.gameObject.GetComponent <BuildableObject>(); if (unknownRodent) { if (unknownRodent.getTeam() == enemyTeam) { unknownRodent.Damage(attackDamage); Destroy(gameObject); } } else if (unknownBuilding) { if (unknownBuilding.getTeam() == enemyTeam && unknownBuilding.getType() != BuildableObject.BuildingType.TownCenter && unknownBuilding.getType() != BuildableObject.BuildingType.WoodPile && unknownBuilding.getType() != BuildableObject.BuildingType.StonePile && unknownBuilding.getType() != BuildableObject.BuildingType.GarbageCan) { unknownBuilding.Damage(attackDamage); Destroy(gameObject); } } else if (king) { if (enemyTeam == 1) { king.Damage(attackDamage); Destroy(gameObject); } } } }
public void AgroRadiusTrigger(Collider2D collision) { // Add a target to the list based on collisions //Debug.Log("Collided with " + collision.gameObject.ToString()); //check that it HAS a parent if (collision.transform.parent) { Rodent unknownRodent = collision.transform.parent.gameObject.GetComponent <Rodent>(); PlayerStats king = collision.transform.parent.gameObject.GetComponent <PlayerStats>(); BuildableObject unknownBuilding = collision.transform.parent.gameObject.GetComponent <BuildableObject>(); if (unknownRodent) { // Debug.LogWarning("Found Rodent" + unknownRodent.getName() + " on team: " + unknownRodent.getTeam()); // Rodent case if (unknownRodent.getTeam() == getEnemyTeam()) { _inRange.Add(unknownRodent.gameObject); //Debug.Log("Rodent added to targets in range " + unknownRodent.getName() + unknownRodent.getTeam()); // print("called from AgroRadiusTrigger"); if (_inRange.Count == 1 && royalGuard) { print("Newest target added to queue: " + unknownRodent.gameObject); currentTarget = unknownRodent.gameObject; } } } else if (unknownBuilding) { if (unknownBuilding.getTeam() == getEnemyTeam()) { // Ensure this isn't a natural resource if (unknownBuilding.getType() != BuildableObject.BuildingType.WoodPile && unknownBuilding.getType() != BuildableObject.BuildingType.StonePile && unknownBuilding.getType() != BuildableObject.BuildingType.GarbageCan) { _inRange.Add(unknownBuilding.gameObject); if (_inRange.Count == 1 && royalGuard) { print("Newest target added to queue: " + currentTarget.ToString()); currentTarget = unknownBuilding.gameObject; } } } } // Special case: Finding King as an attack target else if (team == 2 && king) { _inRange.Add(king.gameObject); if (_inRange.Count == 1) { print("Newest target added to queue: " + king.gameObject); currentTarget = king.gameObject; //Should probably update state to stop moving, and start attacking MovingInIdle = false; } } } }