public bool Remove(ResourseBunch t) { if (Contains(t)) { RemoveSingle(t); return(true); } return(false); }
public bool Add(ResourseBunch t) { if (IsEnoughSpace(t)) { AddSingle(t); return(true); } return(false); }
public bool Move(ResourseBunch t, IGeneralHolder <ResourseBunch> generalHolder) { if (Contains(t) && generalHolder.Add(t)) { RemoveSingle(t); return(true); } return(false); }
private void RemoveSingle(ResourseBunch t) { ResourseBunch resourseBunch = ResourseBunches.Find(r => r.Resourse.Id == t.Resourse.Id); resourseBunch.Remove(t.Amount); if (resourseBunch.Amount <= 0) { ResourseBunches.Remove(resourseBunch); } CurResoursesOccupyingSpace -= t.Amount; }
private void AddSingle(ResourseBunch t) { CurResoursesOccupyingSpace += t.Amount; if (ResourseBunches.Exists(r => r.Resourse.Id == t.Resourse.Id)) { ResourseBunches.Find(r => r.Resourse.Id == t.Resourse.Id).Add(t.Amount); } else { ResourseBunches.Add(t); } }
private bool Contains(ResourseBunch t) { return(ResourseBunches.Exists(r => r.Resourse.Id == t.Resourse.Id)); }
private bool IsEnoughSpace(ResourseBunch t) { return(CurResoursesOccupyingSpace + t.Amount <= MaxResoursesOccupyingSpace); }