public static Storage GetStorage(ResourceTypeClassification Classification, out Resource ToolType) { foreach (Resource _r in Resources.ResourceLibrary.FindAll(res => res.Classification == Classification)) { if (AllStorages.FindAll(s => s.StorageSack.HasAResource(_r, 1)).Count > 0) { ToolType = _r; return(AllStorages.Find(s => s.StorageSack.HasAResource(_r, 1))); } } ToolType = null; return(null); }
//Processing public static void CreateZone(Vector3 _sp, Vector3 _ep, byte ZoneType, byte StorageType = 0) { Vector3 _StartPoint, _EndPoint; Functions.OrderVectors(_sp, _ep, out _StartPoint, out _EndPoint); switch (ZoneType) { case 0: Log.Notice(scr, "ZoneTypeIsMissing"); break; case 1: AllStorages.Add(new Storage(_StartPoint, _EndPoint)); break; case 2: AllFields.Add(new Field(_StartPoint, _EndPoint)); break; case 3: AllPastures.Add(new Pasture(_StartPoint, _EndPoint)); break; case 4: AllMines.Add(new Mine(_StartPoint, _EndPoint)); AllMines[AllMines.Count - 1].HighlightAll(); break; case 5: AllGatherings.Add(new Gathering(_StartPoint, _EndPoint)); AllGatherings[AllGatherings.Count - 1].HighlightAll(); break; default: Log.Notice(scr, "Zone type " + ZoneType + " undefined"); break; } }
public static Zone GetZone(ushort ID) { return((new List <Zone> { AllMines.Find(x => x.ID == ID), AllPastures.Find(x => x.ID == ID), AllStorages.Find(x => x.ID == ID), AllFields.Find(x => x.ID == ID) }).Find(x => x != null)); }
public static Storage GetStorage(ushort ResourceType, short Count) { return(AllStorages.Find(x => x.StorageSack.HasAResource(Resources.ResourceLibrary.Find(y => y.Type == ResourceType), Count))); }
} //Переделать, надо смотреть на статус public static Storage GetStorage(string Name) { return(AllStorages.Find(x => x.Name == Name)); }
//Interaction public static Storage GetStorage(ushort ID) { return(AllStorages.Find(x => x.ID == ID)); } //Переделать, надо смотреть на статус