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? }
public override void Interact(Interactionable interactionable) { base.Interact(); PickUp(interactionable); }
private void PickUp(Interactionable interactionable) { InventarySystem.instance.AddNewElement(item); ItemsNear.instance.DeleteElement(interactionable); Destroy(gameObject); }
public virtual void Interact(Interactionable interactionable) { Debug.Log("im usefull V2"); }
private void Awake() { CheckTransform(); interactionable = GetComponent <Interactionable>(); }
public void DeleteElement(Interactionable element) { targets.Remove(element); }
public void AddNewElement(Interactionable element) { targets.Add(element); }