protected void Add(long duration, AgentItem src, AgentItem seedSrc, long time, bool atFirst, bool isExtension) { var toAdd = new BuffStackItem(time, duration, src, seedSrc, ++ID, isExtension); // Find empty slot if (BuffStack.Count < Capacity) { if (atFirst) { BuffStack.Insert(0, toAdd); } else { BuffStack.Add(toAdd); } _logic.Sort(Log, BuffStack); } // Replace lowest value else { bool found = _logic.StackEffect(Log, toAdd, BuffStack, WasteSimulationResult); if (!found) { OverstackSimulationResult.Add(new BuffSimulationItemOverstack(src, duration, time)); } } }
public override void Add(long duration, AgentItem src, long start, uint stackID, bool addedActive, uint overstackDuration) { var toAdd = new BuffStackItem(start, duration, src, stackID); BuffStack.Add(toAdd); //AddedSimulationResult.Add(new BuffCreationItem(src, duration, start, toAdd.ID)); if (overstackDuration > 0) { OverrideCandidates.Add((overstackDuration, src)); } }
public override void Add(long duration, AgentItem src, long start, uint stackID, bool addedActive, uint overstackDuration) { var toAdd = new BuffStackItemID(start, duration, src, addedActive, stackID); BuffStack.Add(toAdd); if (addedActive) { if (_activeStack != null) { _activeStack.Disable(); } _activeStack = toAdd; } }
public override void Add(long duration, AgentItem src, long start, uint id, bool addedActive, uint overstackDuration) { var toAdd = new BuffStackItem(start, duration, src, ++ID); // Find empty slot if (BuffStack.Count < Capacity) { BuffStack.Add(toAdd); _logic.Sort(Log, BuffStack); } // Replace lowest value else { bool found = _logic.StackEffect(Log, toAdd, BuffStack, WasteSimulationResult); if (!found) { OverstackSimulationResult.Add(new BuffSimulationItemOverstack(src, duration, start)); } } }
public override void Add(long duration, AgentItem src, long start, uint stackID, bool addedActive, uint overstackDuration) { var toAdd = new BuffStackItemID(start, duration, src, addedActive, stackID); BuffStack.Add(toAdd); }