public static void PerceivedPathCostAtPostfix(IntVec3 loc, ref int __result) { Map map = Find.CurrentMap; if (map != null) { List <Thing> list = map.thingGrid.ThingsListAt(loc); list = list.FindAll(x => x is Building_DeployableBarricade); for (int j = 0; j < list.Count; j++) { Building_DeployableBarricade barricade = null; if (loc.InBounds(map))// && perceivedStatic) { barricade = (list[j] as Building_DeployableBarricade); if (barricade != null) { // Log.Message(string.Format("barricade PerceivedPathCostAt found loc: {0}, Status: {1}, __result: {2}", loc, barricade.Toggled, __result)); if (barricade.Toggled) { __result += barricade.deployed.deployedpathCost; // Log.Message(string.Format("barricade PerceivedPathCostAt set to : {1}, @: {0}", loc, __result)); } } } } } }
public static void CalculatedCostAtPostfix(IntVec3 c, bool perceivedStatic, IntVec3 prevCell, ref int __result) { Map map = Find.CurrentMap; if (map != null) { List <Thing> list = map.thingGrid.ThingsListAt(c); list = list.FindAll(x => x is Building_DeployableBarricade); for (int j = 0; j < list.Count; j++) { Building_DeployableBarricade barricade = null; if (c.InBounds(map))// && perceivedStatic) { barricade = (list[j] as Building_DeployableBarricade); if (barricade != null) { // Log.Message(string.Format("barricade CalculatedCostAt found perceivedStatic: {0}, c: {1}, prevCell: {2}, Toggled: {3}, __result: {4}", perceivedStatic, c, prevCell, barricade.Toggled, __result)); if (barricade.Toggled) { __result += barricade.deployed.deployedpathCost; // Log.Message(string.Format("barricade CalculatedCostAt set to : {1}, @: {0}", c, __result)); } } } } } }
public static void StandablePostfix(IntVec3 c, Map map, ref bool __result) { if (map != null) { if (c.InBounds(map)) { List <Thing> list = map.thingGrid.ThingsListAt(c); list = list.FindAll(x => x is Building_DeployableBarricade); for (int j = 0; j < list.Count; j++) { Building_DeployableBarricade barricade = null; if (c.InBounds(map)) { barricade = (list[j] as Building_DeployableBarricade); if (barricade != null) { if (barricade.Toggled && barricade.Deployed.deployedpassability != Traversability.Standable) { __result = false; } } } } } } }