static void CreatePath() { //create centers townMiddle = new LinkedVector(new Vector2(260, 160)); //create default path List <LinkedVector> path1 = new List <LinkedVector>(); path1.Add(townMiddle); AddToChain(path1, new LinkedVector(new Vector2(289, 124))); AddToChain(path1, new LinkedVector(new Vector2(264, 105))); AddToChain(path1, new LinkedVector(new Vector2(285, 92))); AddToChain(path1, new LinkedVector(new Vector2(270, 80))); AddToChain(path1, new LinkedVector(new Vector2(260, 80))); AddToChain(path1, new LinkedVector(new Vector2(236, 59))); AddToChain(path1, new LinkedVector(new Vector2(259, 59))); List <LinkedVector> path2 = new List <LinkedVector>(); path2.Add(townMiddle); AddToChain(path2, new LinkedVector(new Vector2(75, 160))); AddToChain(path2, new LinkedVector(new Vector2(104, 137))); AddToChain(path2, new LinkedVector(new Vector2(86, 120))); AddToChain(path2, new LinkedVector(new Vector2(38, 120))); AddToChain(path2, new LinkedVector(new Vector2(39, 106))); AddToChain(path2, new LinkedVector(new Vector2(76, 70))); AddToChain(path2, new LinkedVector(new Vector2(70, 64))); }
public static List <Vector2> GetRandomPath() { Random r = new Random(); int segments = r.Next(1, 10); List <Vector2> answer = new List <Vector2>() { townMiddle.vec }; LinkedVector current = townMiddle; for (int x = 0; x < segments; x++) { current = current.links[r.Next(0, current.links.Count)]; answer.Add(current.vec); } return(answer); }
static void AddToChain(List <LinkedVector> vs_, LinkedVector v_) { vs_[vs_.Count - 1].LinkTo(v_); vs_.Add(v_); path.Add(v_); }