示例#1
0
        public Node(int i, int j, char symbol)
        {
            Visited                 = NodeState.Undiscovered;
            DistanceToGoal          = 0;
            DistanceToStart         = 0;
            Position.X              = i;
            Position.Y              = j;
            DestinationFromPrevious = Destinations.Default;
            DestinationToFinish     = Destinations.Default;
            IsJumpPoint             = JPType.Default;
            TargetJP                = false;
            Parent = null;

            for (var k = 0; k < 3; ++k)
            {
                for (var h = 0; h < 3; ++h)
                {
                    NormMatrix[k, h] = 0;
                }
            }

            switch (symbol)
            {
            case 'T':
                IsObstacle = true;
                break;

            default:
                IsObstacle = false;
                break;
            }
        }
示例#2
0
        public Node(Informer i, NodeState v)
        {
            InformerNode            = i;
            Visited                 = v;
            Distance                = 0;
            Position                = i.transform.position;
            DestinationFromStart    = Destinations.Default;
            DestinationFromPrevious = Destinations.Default;
            DestinationToFinish     = Destinations.Default;
            Iteration               = 0;


            for (var k = 0; k < 3; ++k)
            {
                for (var j = 0; j < 3; ++j)
                {
                    NormMatrix[k, j] = 0;
                }
            }

            for (var dir = 0; dir < 8; ++dir)
            {
                GoalBounds[dir, (int)GoalBoundsEnum.MinRow] = 1000;
                GoalBounds[dir, (int)GoalBoundsEnum.MaxRow] = 0;
                GoalBounds[dir, (int)GoalBoundsEnum.MinCol] = 1000;
                GoalBounds[dir, (int)GoalBoundsEnum.MaxCol] = 0;
            }
            IsJumpPoint = JPType.Default;
            TargetJP    = false;
        }
示例#3
0
 public Node(Node parent, Node node, Destinations destinationFromParent)
 {
     IsObstacle              = node.IsObstacle;
     Visited                 = node.Visited;
     DistanceToGoal          = sizeof(float);
     Position                = node.Position;
     DestinationToFinish     = node.DestinationToFinish;
     DistanceToStart         = MetricsAStar(parent, node);
     DestinationFromPrevious = destinationFromParent;
     NormMatrix              = node.NormMatrix;
     IsJumpPoint             = node.IsJumpPoint;
     TargetJP                = node.TargetJP;
     Parent = parent;
 }
示例#4
0
        public Node(Node n)
        {
            if (n != null)
            {
                InformerNode            = n.InformerNode;
                Visited                 = n.Visited;
                Distance                = n.Distance;
                Position                = n.Position;
                DestinationToFinish     = n.DestinationToFinish;
                DestinationFromPrevious = n.DestinationFromPrevious;

                NormMatrix  = n.NormMatrix;
                IsJumpPoint = n.IsJumpPoint;
                TargetJP    = n.TargetJP;
            }
        }
示例#5
0
 public Node(Node n)
 {
     if (n != null)
     {
         IsObstacle              = n.IsObstacle;
         Visited                 = n.Visited;
         DistanceToGoal          = n.DistanceToGoal;
         DistanceToStart         = n.DistanceToStart;
         Position                = n.Position;
         DestinationToFinish     = n.DestinationToFinish;
         DestinationFromPrevious = n.DestinationFromPrevious;
         NormMatrix              = n.NormMatrix;
         IsJumpPoint             = n.IsJumpPoint;
         TargetJP                = n.TargetJP;
         Parent = n.Parent;
     }
 }
示例#6
0
        public Node(Informer i, NodeState v)
        {
            InformerNode            = i;
            Visited                 = v;
            Distance                = 0;
            Position                = i.transform.position;
            DestinationFromPrevious = Destinations.Default;
            DestinationToFinish     = Destinations.Default;


            for (var k = 0; k < 3; ++k)
            {
                for (var j = 0; j < 3; ++j)
                {
                    NormMatrix[k, j] = 0;
                }
            }
            IsJumpPoint = JPType.Default;
            TargetJP    = false;
        }