Ejemplo n.º 1
0
    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);
            }
        }
    }
Ejemplo n.º 2
0
 //used by the manager of buildings
 public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null)
 {
     if (inmigrant != null)
     {
         base.IncrementInmigrants();
         immigrantsToDeport.Enqueue(inmigrant);
     }
 }
Ejemplo n.º 3
0
 private void HealedInmigrant(Agent_Inmigrant inmigrant)
 {
     if (oficina.GetCurrentInmigrants() + 1 <= oficina.GetMaxInmigrants())
     {
         oficina.IncrementInmigrants(inmigrant);
     }
     else
     {
         dorms.IncrementInmigrants(inmigrant);
     }
 }
Ejemplo n.º 4
0
 public void StartProcessInmigrant(Agent_Inmigrant inmigrant)
 {
     if (inmigrant.hurt)
     {
         SendToNursery(inmigrant);
     }
     else
     {
         SendToOffice(inmigrant);
     }
 }
Ejemplo n.º 5
0
 public void SendToNursery(Agent_Inmigrant inmigrant)
 {
     if (enfermeria.GetCurrentInmigrants() + 1 <= enfermeria.GetMaxInmigrants())
     {
         enfermeria.IncrementInmigrants(inmigrant);
         IncrementInmigrants(inmigrant);
     }
     else
     {
         SendToDorms(inmigrant);
     }
 }
Ejemplo n.º 6
0
 public void SendToOffice(Agent_Inmigrant inmigrant)
 {
     if (oficina.GetCurrentInmigrants() + 1 <= oficina.GetMaxInmigrants())
     {
         oficina.IncrementInmigrants(inmigrant);
         IncrementInmigrants(inmigrant);
     }
     else
     {
         SendToDorms(inmigrant);
     }
 }
Ejemplo n.º 7
0
    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);
            }
        }
    }
Ejemplo n.º 8
0
 public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null)
 {
     base.IncrementInmigrants();
     immigrantsToHeal.Enqueue(inmigrant);
 }
Ejemplo n.º 9
0
 public virtual void DecrementInmigrants(Agent_Inmigrant inmigrant = null) => currentInmigrantNum--;
Ejemplo n.º 10
0
 private void SendToDorms(Agent_Inmigrant inmigrant)
 {
     dorms.IncrementInmigrants(inmigrant);
     IncrementInmigrants(inmigrant);
 }
Ejemplo n.º 11
0
 //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());
 }
Ejemplo n.º 12
0
 //when an Inmigrant Enters (police Manager)
 public override void IncrementInmigrants(Agent_Inmigrant inmigrant = null)
 {
     inmigrantsInFacility.Add(inmigrant);
     cocina.SetInmigrantsToFeed(GetCurrentInmigrants());
 }
Ejemplo n.º 13
0
 public override void DecrementInmigrants(Agent_Inmigrant immigrant)
 {
     sleepingPlaces.Dequeue();
     currentInmigrantNum = sleepingPlaces.Count;
 }
Ejemplo n.º 14
0
 public override void IncrementInmigrants(Agent_Inmigrant immigrant)
 {
     sleepingPlaces.Enqueue(immigrant);
     currentInmigrantNum = sleepingPlaces.Count;
 }