public void SetBlocked(SimRoute StuckAt) { BlockTowardsVector(StuckAt._EndNode.SimPosition); Vector3d pos = Mover.GlobalPosition; if (StuckAt.BlockedPoint(GetGlobal(pos))) { StuckAt.ReWeight(1.1f); Debug("BLOCKED: " + StuckAt); } else { SimRoute StuckAt2 = OuterRoute.WhichRoute(GetGlobal(pos)); if (StuckAt2 == null) { StuckAt.ReWeight(1.3f); //OuterRoute.ReWeight(1.2f); Debug("INACESSABLE: " + StuckAt); StuckAt.Passable = false; } else { StuckAt2.ReWeight(1.1f); Debug("ROUTE BLOCKED: " + StuckAt2); StuckAt2.BlockedPoint(GetGlobal(pos)); StuckAt2.Passable = false; StuckAt2.Reverse.Passable = false; } } // SimPathStore.Instance.RemoveArc(StuckAt); ///SimPathStore.Instance.RemoveArc(StuckAt.Reverse); STATE = SimMoverState.BLOCKED; }