public File(byte[] source, bool compression = true, Intentions intentions = Intentions.None) { FileId = Guid.NewGuid().ToString(); Compressed = compression; Intent = intentions; Data = compression ? CompressionUtils.Compress(source) : source; }
/// <summary> /// Determines which desires will become intentions or which intentions should remain or be deleted. /// </summary> /// <param name="percepts"></param> private void Filter() { Intentions.Clear(); foreach (var desire in Desires) { if (desire.SubDesires.Count > 0) { var primaryDesires = desire.GetSubDesires(); primaryDesires.Reverse(); foreach (var d in primaryDesires) { Intentions.Push(Intention.FromDesire(d)); } } else { Intentions.Push(Intention.FromDesire(desire)); } } if (Intentions.Any() && !ExistsPlan()) { ChoosePlan(); } }
private void ChoosePlan() { var primaryIntention = Intentions.Pop(); var location = primaryIntention.Predicate as Tuple <int, int>; switch (primaryIntention.Name) { case TypesDesire.Dig: CurrentPlan = PlanLibrary.First(p => p.Name == TypesPlan.PathFinding); CurrentPlan.BuildPlan(new Tuple <int, int>(X, Y), location); break; } }
public File(MemoryStream sourceStream, bool compression = true, Intentions intentions = Intentions.None) : this(sourceStream.ToArray(), compression, intentions) { }