public override void DecrementInmigrants(Agent_Inmigrant inmigrant = null) { for (int i = 0; i < currentEmployeeNum; i++) { if (currentInmigrantNum - 1 < 0) { break; } //TODO Consultar inmigrante a la hora de deportarlo para saber si esta: //- Normal //- Herido //- Gravemente Herido totalDeported++; base.DecrementInmigrants(); if (immigrantsToDeport.Count > 0) { Agent_Inmigrant toDeport = immigrantsToDeport.Dequeue(); if (toDeport.wounded) { woundedDeported++; } inmigrantDeported.Invoke(toDeport); } else { inmigrantDeported.Invoke(null); } } }
//used by the manager of buildings public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null) { if (inmigrant != null) { base.IncrementInmigrants(); immigrantsToDeport.Enqueue(inmigrant); } }
private void HealedInmigrant(Agent_Inmigrant inmigrant) { if (oficina.GetCurrentInmigrants() + 1 <= oficina.GetMaxInmigrants()) { oficina.IncrementInmigrants(inmigrant); } else { dorms.IncrementInmigrants(inmigrant); } }
public void StartProcessInmigrant(Agent_Inmigrant inmigrant) { if (inmigrant.hurt) { SendToNursery(inmigrant); } else { SendToOffice(inmigrant); } }
public void SendToNursery(Agent_Inmigrant inmigrant) { if (enfermeria.GetCurrentInmigrants() + 1 <= enfermeria.GetMaxInmigrants()) { enfermeria.IncrementInmigrants(inmigrant); IncrementInmigrants(inmigrant); } else { SendToDorms(inmigrant); } }
public void SendToOffice(Agent_Inmigrant inmigrant) { if (oficina.GetCurrentInmigrants() + 1 <= oficina.GetMaxInmigrants()) { oficina.IncrementInmigrants(inmigrant); IncrementInmigrants(inmigrant); } else { SendToDorms(inmigrant); } }
public override void DecrementInmigrants(Agent_Inmigrant inmigrant = null) { for (int i = 0; i < currentEmployeeNum; i++) { if (currentInmigrantNum - 1 < 0) { break; } base.DecrementInmigrants(); if (immigrantsToHeal.Count > 0) { inmigrantHealed.Invoke(immigrantsToHeal.Dequeue()); } else { inmigrantHealed.Invoke(null); } } }
public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null) { base.IncrementInmigrants(); immigrantsToHeal.Enqueue(inmigrant); }
public virtual void DecrementInmigrants(Agent_Inmigrant inmigrant = null) => currentInmigrantNum--;
private void SendToDorms(Agent_Inmigrant inmigrant) { dorms.IncrementInmigrants(inmigrant); IncrementInmigrants(inmigrant); }
//when an inmigrant Scapes (inmigrant Manager) or its deported public override void DecrementInmigrants(Agent_Inmigrant inmigrant = null) { inmigrantsInFacility.Remove(inmigrant); Destroy(inmigrant.gameObject); cocina.SetInmigrantsToFeed(GetCurrentInmigrants()); }
//when an Inmigrant Enters (police Manager) public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null) { inmigrantsInFacility.Add(inmigrant); cocina.SetInmigrantsToFeed(GetCurrentInmigrants()); }
public override void DecrementInmigrants(Agent_Inmigrant immigrant) { sleepingPlaces.Dequeue(); currentInmigrantNum = sleepingPlaces.Count; }
public override void IncrementInmigrants(Agent_Inmigrant immigrant) { sleepingPlaces.Enqueue(immigrant); currentInmigrantNum = sleepingPlaces.Count; }