Exemple #1
0
 public override void RestoreHealth(int amount)
 {
     base.RestoreHealth(amount);
     if (m_StateOfBuilding == STATE_OF_BUILDING.RUINED)
     {
         m_StateOfBuilding = STATE_OF_BUILDING.COMPLETE;
         BuildingManager.Instance.SetBuildingTile(m_ListOfUpgrades[m_CurrentUpgradeIndex].m_UpgradedTile, transform.position);
     }
 }
Exemple #2
0
 public override void TakeDamage(int amount)
 {
     health = Mathf.Max(0, health - amount);
     if (health == 0 && m_StateOfBuilding != STATE_OF_BUILDING.RUINED)
     {
         m_CurrentUpgradeIndex = 0;
         m_StateOfBuilding     = STATE_OF_BUILDING.RUINED;
         BuildingManager.Instance.SetBuildingTile(m_RuinedBuildingTile, transform.position);
         maxHealth = m_OriginalMaxHP;
         ObjectManager.Instance.RemoveObject(objectType, this);
         isRuined = true;
         // trigger that it is being destroyed
         SubscriptionSystem.Instance.TriggerEvent <BaseObject.OBJECT_TYPE>("HouseDestroyed", objectType);
     }
 }