Пример #1
0
 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);
 }
Пример #2
0
 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);
 }