private void ApplyChanges(List <IInteractionable> list)
        {
            list.Where(c => c.mustSend()).ToList().ForEach((Interactionable) => {
                var recursos     = api.getRelJugadorRecursoHandler().getRecursosByColonia(Interactionable.GetID());
                var destacamento = api.getRelJugadorDestacamentoHandler().getDestacamentosByColonia(Interactionable.GetID());
                Interactionable.GetRecursos().ForEach((rec) =>
                {
                    RelJugadorRecurso r = recursos.Where(c => c.recurso.id == rec.GetId()).First();
                    r.cantidadR         = r.cantidadR - rec.GetAmount();
                    api.getRelJugadorRecursoHandler().updateRelJugadorRecurso(r);
                });
                Interactionable.GetFlota().ForEach((rec) =>
                {
                    RelJugadorDestacamento r = destacamento.Where(c => c.destacamento.id == rec.GetId()).First();
                    r.cantidad = r.cantidad - rec.GetAmount();
                    r.setForceUpdate(true);
                    api.getRelJugadorDestacamentoHandler().updateRelJugadorDestacamento(r);
                });
            });
            list.Where(c => c.GetMustUpdate()).ToList().ForEach((Interactionable) =>
            {
                bool isrequester = requester.GetID() == Interactionable.GetID();

                var recursos     = api.getRelJugadorRecursoHandler().getRecursosByColonia(Interactionable.GetID());
                var destacamento = api.getRelJugadorDestacamentoHandler().getDestacamentosByColonia(Interactionable.GetID());
                Interactionable.GetDefensas().ForEach((rec) =>
                {
                    RelJugadorDestacamento r = destacamento.Where(c => c.destacamento.id == rec.GetId()).First();
                    r.cantidad = r.cantidad + rec.GetAmount();
                    r.setForceUpdate(true);
                    api.getRelJugadorDestacamentoHandler().updateRelJugadorDestacamento(r);
                });
                Interactionable.GetFlota().ForEach((rec) =>
                {
                    RelJugadorDestacamento r = destacamento.Where(c => c.destacamento.id == rec.GetId()).First();
                    r.cantidad = r.cantidad + rec.GetAmount();
                    r.setForceUpdate(true);
                    api.getRelJugadorDestacamentoHandler().updateRelJugadorDestacamento(r);
                });
                Interactionable.GetRecursos().ForEach((rec) =>
                {
                    RelJugadorRecurso r = recursos.Where(c => c.recurso.id == rec.GetId()).First();
                    r.cantidadR         = r.cantidadR + rec.GetAmount();
                    api.getRelJugadorRecursoHandler().updateRelJugadorRecurso(r);
                });
            });
        }
 private void UpdateNearestTarget()
 {
     if (ItemsNear.instance.Size() == 0)
     {
         target = null;
     }
     else
     {
         if (ItemsNear.instance.Size() == 1)
         {
             target = ItemsNear.instance.GetInteractionable(0);
         }
         else
         {
             target = GetClosestPoints();
         }
     }
 }
 public void InteractNow()
 {
     target.Interact(target);
     target = null; //Que es mejor dejarlo a null o dejarlo en missing si recojo algo del suelo?
 }
Example #4
0
    public override void Interact(Interactionable interactionable)
    {
        base.Interact();

        PickUp(interactionable);
    }
Example #5
0
 private void PickUp(Interactionable interactionable)
 {
     InventarySystem.instance.AddNewElement(item);
     ItemsNear.instance.DeleteElement(interactionable);
     Destroy(gameObject);
 }
Example #6
0
 public virtual void Interact(Interactionable interactionable)
 {
     Debug.Log("im usefull V2");
 }
Example #7
0
 private void Awake()
 {
     CheckTransform();
     interactionable = GetComponent <Interactionable>();
 }
Example #8
0
 public void DeleteElement(Interactionable element)
 {
     targets.Remove(element);
 }
Example #9
0
 public void AddNewElement(Interactionable element)
 {
     targets.Add(element);
 }