public bool Connect(Uri uri) { try { // start with a new scene in VRED SocketClient.SendVredCmd(uri.Host, uri.Port, @"newScene()"); SocketClient.SendVredCmd(uri.Host, uri.Port, string.Format("load(\"{0}\")", Util.GetPathUri("Aeromax.vpb"))); sender = new SocketClient(uri, port); // set up car car = new Car(); car.mass = 1200; car.inertiaScale = 2.0f; car.halfWidth = 0.8f; car.cgToFront = 2.0f; car.cgToRear = 2.0f; car.cgToFrontAxle = 1.25f; car.cgToRearAxle = 1.25f; car.cgHeight = 0.55f; car.wheelRadius = 0.55f; car.tireGrip = 2.0f; car.lockGrip = 0.7f; car.engineForce = 4000.0f; car.brakeForce = 12000.0f; car.eBrakeForce = car.brakeForce / 2.5f; car.weightTransfer = 0.2f; car.maxSteer = 40; car.cornerStiffnessFront = 5.0f; car.cornerStiffnessRear = 5.2f; car.airResist = 2.5f; car.rollResist = 8.0f; car.RecalcStats(); // set up car sender.Send(@"car = findNode(""Alias Shape Rep"")"); sender.Send(@"front_left_wheel = findNode(""node#166502"")"); sender.Send(@"front_right_wheel = findNode(""node#167187"")"); sender.Send(@"rear_left_wheel = findNode(""node#166503"")"); sender.Send(@"rear_right_wheel = findNode(""node#166504"")"); //sender.Send("camera_node = getCamNode(0)"); return true; } catch (Exception e) { //Console.WriteLine("Unexpected exception : {0}", e.ToString()); Log(e.ToString()); return false; } }
public void Disconnect() { try { sender.Dispose(); sender = null; car = null; } catch (Exception e) { Log(e.ToString()); } if (OnDisconnect != null) OnDisconnect(this, null); }