Update() public method

public Update ( Requirements other ) : void
other Requirements
return void
 public DIYKit.Requirements RemainingRequirements()
 {
     if (!remainder)
     {
         if (remainder == null)
         {
             remainder = new DIYKit.Requirements();
         }
         var njobs = Jobs.Count;
         if (njobs > 0 && CurrentIndex >= 0 && CurrentIndex < njobs)
         {
             for (int i = CurrentIndex; i < njobs; i++)
             {
                 remainder.Update(Jobs[i].RemainingRequirements());
             }
         }
     }
     return(remainder);
 }
Beispiel #2
0
 public void Update(float efficiency = -1)
 {
     if (efficiency < 0)
     {
         efficiency = Recycler.GetRecycleExperienceMod();
     }
     Recycler.GetRecycleInfo(part,
                             efficiency,
                             out assembly_requirements,
                             out construction_requirements);
     children.Sync(part.children);
     children.ForEach(child =>
     {
         child.Update(efficiency);
         assembly_requirements.Update(child.assembly_requirements);
         construction_requirements.Update(child.construction_requirements);
     });
     UpdateDisplay();
 }
        public DIYKit.Requirements RequirementsForWork(double work)
        {
            var req = new DIYKit.Requirements();

            if (work > 0 && Jobs.Count > 0)
            {
                var njobs = Jobs.Count;
                if (CurrentIndex < njobs)
                {
                    for (int i = CurrentIndex; i < njobs; i++)
                    {
                        req.Update(Jobs[i].RequirementsForWork(work - req.work));
                        if (work <= req.work)
                        {
                            break;
                        }
                    }
                }
            }
            return(req);
        }