public Traverse(IState oldState, IState newState, int performer, int destination) : base(oldState, newState, performer) { v1 = Performer.Position; v2 = destination; visit = ""; var edgeWeight = Performer.CalculateWeight(oldState.Graph.EdgeWeight(v1, v2)); if (edgeWeight > 0) { Cost = edgeWeight; Performer.Position = destination; visit = Performer.Visit(NewState.Graph.Vertex(destination)); } else { Cost = 1; } UpdateTime(); }