public static void Prefix(Vector3 clickPos, Pawn pawn) { // Ok this is a bit ridiculous but lets try it anyway... // We save all existing designations at this cell and remove them // Then for every thing here, we create all designations for them // So they should get flagged as a viable target for every possible job // Wish me luck. if (pawn != null) { CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>(); if (compMeeseeksMemory != null && compMeeseeksMemory.CanTakeOrders()) { IntVec3 cell = IntVec3.FromVector3(clickPos); DesignatorUtility.ForceAllDesignationsOnCell(cell, pawn.MapHeld); } } }
public static void Postfix(List <FloatMenuOption> __result, Vector3 clickPos, Pawn pawn) { if (pawn != null) { CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>(); if (compMeeseeksMemory != null && compMeeseeksMemory.CanTakeOrders()) { IntVec3 intVec = IntVec3.FromVector3(clickPos); FloatMenuOption guardOption = GuardLocationOption(compMeeseeksMemory, intVec, pawn); if (guardOption != null) { __result.Add(guardOption); } } } }
public static void Postfix(Pawn pawn, ref bool __result) { //Logger.MessageFormat(pawn, "CanTakeOrder Postfix"); if (pawn != null) { CompMeeseeksMemory compMeeseeksMemory = pawn.GetComp <CompMeeseeksMemory>(); if (compMeeseeksMemory != null) { bool canTakeOrder = compMeeseeksMemory.CanTakeOrders(); Logger.MessageFormat(pawn, "CanTakeOrder Meeseeks: {0}", canTakeOrder.ToString()); if (!canTakeOrder) { __result = false; } } } }