protected EatPattern(BreakDownHandler howBreakdown, BreakDownsHandler howBreakdowns, EatPatternConfig config) { _howBreakDown = howBreakdown; _howBreakDowns = howBreakdowns; _config = config; _rubbish = new Rubbish(); _stomach = new OneByOnePipeline(Digest); _enzyme = new AutoResetPipeline(Breakdown); _lock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion); _outputElapsedStopwatch = new Stopwatch(); _foods = new Compounds <F>(config.MaxFoodStock, config.ReplaceMode, _rubbish); //食物 _nutrients = new Compounds <N>(config.MaxNutrientStock, config.ReplaceMode, _rubbish); //养分 _delapyer = new MediaDelayer(); }
protected SatietyPattern(BreakDownHandler howBreakDown, BreakDownsHandler howBreakDowns, SatietyPatternConfig config) : base(howBreakDown, howBreakDowns, config) { InitInputInterval(); //初始化输入养分的时间间隔 InitOutputElapsed(); //初始化输出养分所运行的时间 }
public HungryMultiple(BreakDownsHandler howBreakDowns, HungryPatternConfig config) : base(null, howBreakDowns, config) { }
public SatietyMultiple(BreakDownsHandler howBreakDowns, SatietyPatternConfig config) : base(null, howBreakDowns, config) { }
protected HungryPattern(BreakDownHandler howBreakDown, BreakDownsHandler howBreakDowns, HungryPatternConfig config) : base(howBreakDown, howBreakDowns, config) { _nutrientOutputInterval = config.NutrientOutputInterval; }