private static Traveler SetupTraveler(string start) { var world = ExampleWorld.Sample(); var walker = new Walker(Vector3.Zero); var traveler = new Traveler(start, world, walker); var zoner = new Zoner(traveler, world); return(traveler); }
public void ReturnData() { int amount; bool success; string amountIn, zoneIn, result = string.Empty; Console.WriteLine("What is the amount?"); amountIn = Console.ReadLine(); success = Int32.TryParse(amountIn, out amount); if (!success) { Console.WriteLine("Enter a valid amount!"); return; } Console.WriteLine("What is the zone?"); zoneIn = Console.ReadLine(); if (zoneIn.Substring(0, 4).ToLower() != "zone") { Console.WriteLine("Zone must start with 'Zone' + 1,2,3,4"); } Zoner z = Rate; z += delegate(int amountNew, string zoneNew, ref string resultNew) { if (zoneIn.ToLower() == "zone2" || zoneIn.ToLower() == "zone4") { double amountH = 0; Double.TryParse(resultNew, out amountH); amountH += 25; resultNew = $"{amountH}, is high risk"; } }; z(amount, zoneIn, ref result); Console.WriteLine(result); Console.WriteLine("\nPress Enter to Continue..."); Console.ReadLine(); }
public void WalkThroughZonesTravelsThroughZones() { const string start = "A"; const string end = "D"; // setup the world var world = ExampleWorld.Sample(); var walker = new Walker(Vector3.Zero); var traveler = new Traveler(start, world, walker); var zoner = new Zoner(traveler, world); var zones = new List <Zone> { world.GetZoneByName("A"), world.GetZoneByName("C"), world.GetZoneByName("D") }; traveler.WalkToZone(end, true); Assert.Equal(end, traveler.CurrentZone.Name); }
public void GoToZoneWillActuallyZoneTheTraveler() { const string targetZoneName = "B"; var targetPosition = ExampleWorld.ZoneA().Boundaries.Find(b => b.ToZone == targetZoneName).ToPosition; var traveler = new Traveler { CurrentZone = ExampleWorld.ZoneA(), Position = Vector3.Zero, World = ExampleWorld.Sample() }; traveler.PathMaker = new GridPathMaker { ZoneMap = traveler.CurrentZone.Map }; var zoner = new Zoner(traveler, ExampleWorld.Sample()); traveler.WalkToZone(targetZoneName); Assert.Equal(targetZoneName, traveler.CurrentZone.Name); Assert.Equal(targetPosition, traveler.Walker.CurrentPosition); }