void EndRepair() { repairSite.Inventory["Labor"].onEmpty -= EndRepair; UnitProject.gameObject.SetActive(true); SetObject(project); Element.State = DevelopmentState.Developed; repairSite = null; }
void BeginRepair(float damageAmount) { if (Element.State == DevelopmentState.Damaged) { if (UnitProject.gameObject.activeSelf) { UnitProject.gameObject.SetActive(false); repairSite = (RepairSite)SetObject <RepairSite> (false); repairSite.Inventory["Labor"].onEmpty += EndRepair; } Element.State = DevelopmentState.UnderRepair; } if (Element.State == DevelopmentState.UnderRepair) { repairSite.LaborCost = (int)(DataManager.GetConstructionCost(UnitProject.Settings.Symbol) * damageAmount); } }