1using System.Collections.Generic;
8 if (
EClass.
ui.AllowInventoryInteractions)
30 public override IEnumerable<Status>
Run()
32 List<Thing> containers =
new List<Thing>();
40 while (containers.Count > 0)
43 int num =
SortVal(containers.First());
60 Thing c = containers.LastItem();
61 containers.RemoveAt(containers.Count - 1);
75 PathProgress pathProgress = PathManager.Instance.RequestPathImmediate(EClass.pc.pos, p, EClass.pc, PathManager.MoveType.Default, -1, 1);
76 if (pathProgress.HasPath && pathProgress.nodes.Count < minDist)
78 minDist = pathProgress.nodes.Count;
84 yield
return DoGoto(pos, 1, ignoreConnection:
false, () =>
Status.Running);
91 Msg.
Say(
"dump_noExist", c);
105 foreach (
Thing item2
in list)
110 if (c.parent is
Card)
112 (c.parent as
Card).SetDirtyWeight();
114 Msg.
Say(
"dump_item", item2, c);
121 Msg.
Say(
"dump_dumped", num2.ToString() ??
"", c.Name);
133 SE.Play(
"auto_dump");
150 if (ListThingsToPut(c).Count == 0)
159 List<Thing> list =
new List<Thing>();
178 switch (data.IsFilterPass(t.GetName(NameStyle.Full, 1)))
180 case Window.SaveData.FilterResult.Block:
182 case Window.SaveData.FilterResult.PassWithoutFurtherTest:
189 foreach (int cat in data.cats)
191 if (t.category.uid == cat)
202 containerFlag = ContainerFlag.other;
204 if (!data.
flag.HasFlag(containerFlag))
216 if (!list.Contains(t) && !ExcludeDump(t) && t.
CanStackTo(ct))
220 Window.SaveData.FilterResult filterResult = data.IsFilterPass(t.GetName(NameStyle.Full, 1));
221 if (filterResult != Window.SaveData.FilterResult.Block)
237 if (c.things.Count == 0)
271 bool ExcludeDump(
Thing t)
293 return card.GetWindowSaveData()?.excludeDump ??
false;
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Status DoGoto(Point pos, int dist=0, bool ignoreConnection=false, Func< Status > _onChildFail=null)
void ForeachPoint(Action< Point, bool > action)
Window.SaveData GetWindowSaveData()
void PlaySoundDrop(bool spatial=true)
SourceCategory.Row category
void SetAIImmediate(AIAct g)
int SortVal(bool charaSheet=false)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
bool IsValidContainer(Thing c)
override void OnCancelOrSuccess()
List< Thing > ListThingsToPut(Thing c)
override bool CanManualCancel()
override IEnumerable< Status > Run()
void Foreach(Action< Thing > action, bool onlyAccessible=true)
override string GetName(NameStyle style, int _num=-1)
override bool CanStackTo(Thing to)
virtual bool CanBeDropped
virtual bool CanOnlyCarry