internal void Merge(TabularDataQueryOptions qo) { foreach (var select in qo.Selects) { AddSelect(select); } foreach (var entry in qo.Expands) { if (Expands.ContainsKey(entry.Key)) { MergeQueryOptions((ExpandQueryOptions)Expands[entry.Key], (ExpandQueryOptions)entry.Value); } else { AddExpand(entry.Key, (ExpandQueryOptions)entry.Value); } } }
public bool Expand() { int currentBases = Expands.Count(); Unit worker = GetAvailableWorker(); Vector3?expandPosition = GetSortedExpandLocationsForMe()[currentBases].Value; if (expandPosition != null) { if (Controller.Construct(GetAvailableWorker(), Units.HATCHERY, expandPosition)) { Logger.Info("Expanding"); return(true); } return(false); } else { Logger.Error("All expands are already taken"); return(false); } }