コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: SimMover.cs プロジェクト: drzo/opensim4opencog
        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;
        }