public VerbManager GetManagerFor(Pawn pawn, bool createIfMissing = true) { if (managers.TryGetValue(pawn, out var manager)) { return(manager); } if (!createIfMissing) { return(null); } manager = new VerbManager(); manager.Initialize(pawn); managers.Add(pawn, manager); return(manager); }
public VerbManager GetManagerFor(Pawn pawn, bool createIfMissing = true) { if (managers.TryGetValue(pawn, out var manager)) { return(manager); } if (!createIfMissing) { return(null); } manager = new VerbManager(); manager.Initialize(pawn); if (currentVerbSaved != null && currentVerbSaved.TryGetValue(pawn, out var currentVerb)) { manager.CurrentVerb = currentVerb; } managers.Add(pawn, manager); allManagers.Add(new System.WeakReference <VerbManager>(manager)); return(manager); }