Esempio n. 1
0
    /* Awake method is inbuild in Unity MonoBehaviour derived classes
     * The method is triggered first, ensuring each Surface object is correctly created */
    void Awake()
    {
        // Rudder
        // Get reference to the rudder in Unity
        rudderObject = GameObject.Find("Rudder");
        // Create the Surface object using the obtained reference
        rudder = new Rudder(rudderObject);

        // Elevators
        leftElevatorObject  = GameObject.Find("LeftElevator");
        leftElevator        = new Surface(leftElevatorObject);
        rightElevatorObject = GameObject.Find("RightElevator");
        rightElevator       = new Surface(rightElevatorObject);

        // Ailerons
        leftAileronObject  = GameObject.Find("L_Aileron");
        leftAileron        = new Surface(leftAileronObject);
        rightAileronObject = GameObject.Find("R_Aileron");
        rightAileron       = new Surface(rightAileronObject);

        //Flaps
        leftFlapObject  = GameObject.Find("L_Flap");
        leftFlap        = new Surface(leftFlapObject);
        rightFlapObject = GameObject.Find("R_Flap");
        rightFlap       = new Surface(rightFlapObject);
    }
Esempio n. 2
0
    void GetAxis()
    {
        // Get state of Controller with port number : 0
        rudder = s3DRudderManager.Instance.GetRudder(IndexRudder);
        if (UseCurve)
        {
            axis = rudder.GetAxisWithCurve(ModeAxis, curves);
        }
        else
        {
            axis = rudder.GetAxis(ModeAxis);
        }

        // Get the direction of Controller and multiply by deltatime and speed
        if (CanMove)
        {
            if (Move3D)
            {
                translation = Vector3.Scale(rudder.GetAxis3D(axis), SpeedTranslation * Time.deltaTime);
            }
            else
            {
                translation.x = axis.GetXAxis() * SpeedTranslation.x * Time.deltaTime;
                translation.z = axis.GetYAxis() * SpeedTranslation.z * Time.deltaTime;
            }
        }
        if (CanRotate)
        {
            rotation *= Quaternion.AngleAxis(axis.GetZRotation() * SpeedRotation * Time.deltaTime, Vector3.up);
        }
    }
    void GetAxis()
    {
        // Get state of Controller with port number : 0
        rudder = s3DRudderManager.Instance.GetRudder(IndexRudder);
        if (UseCurve)
        {
            axis = rudder.GetAxisWithCurve(ModeAxis, curves);
        }
        else
        {
            axis = rudder.GetAxis(ModeAxis);
        }

        // Get the direction of Controller and multiply by deltatime and speed

        /*
         * if (CanMove)
         * {
         *  if (Move3D)
         *      translation = Vector3.Scale(rudder.GetAxis3D(axis), SpeedTranslation * Time.deltaTime);
         *  else
         *  {
         *      translation.x = axis.GetXAxis() * SpeedTranslation.x * Time.deltaTime;
         *      translation.z = axis.GetYAxis() * SpeedTranslation.z * Time.deltaTime;
         *  }
         * }
         * if (CanRotate)
         *  rotation *= Quaternion.AngleAxis(axis.GetZRotation() * SpeedRotation * Time.deltaTime, Vector3.up);
         */

        cube.eulerAngles = new Vector3(axis.GetPhysicalPitch() * 0.5f, axis.GetPhysicalYaw() * 0.5f, axis.GetPhysicalRoll() * -0.5f) * SpeedRotation;
    }
Esempio n. 4
0
 void DisplaySensor(Rudder rudder)
 {
     EditorGUIUtility.labelWidth = 20;
     for (uint i = 0; i < 6; ++i)
     {
         EditorGUILayout.FloatField(i.ToString(), rudder.GetSensor(i), GUILayout.MaxWidth(sizeSensor));
     }
 }
 void Start()
 {
     _gazeCursor     = GazeCursor.Instance;
     _testController = TestController.Instance;
     Rudder          = s3DRudderManager.Instance.GetRudder(0);
     connector       = Connector.getInstance();
     connector.AutoConnect();
     _pupilTracker.SetShowDot(false);
 }
Esempio n. 6
0
 //ToXml function
 public void ToXml(XmlWriter xmlWriter)
 {
     xmlWriter.WriteElementString("oldLat", oldLat.ToString());
     xmlWriter.WriteElementString("oldLon", oldLon.ToString());
     xmlWriter.WriteElementString("Lat", Lat.ToString());
     xmlWriter.WriteElementString("Lon", Lon.ToString());
     xmlWriter.WriteElementString("Height", Height.ToString());
     xmlWriter.WriteElementString("Throttel", Throttel.ToString());
     xmlWriter.WriteElementString("Rudder", Rudder.ToString());
 }
Esempio n. 7
0
    void Awake()
    {
        sails     = GetComponentInChildren <Sails> ();
        rudder    = GetComponentInChildren <Rudder> ();
        physics   = GetComponentInChildren <BoatPhysics>();
        rigidBody = GetComponent <Rigidbody> ();
        weapons   = GetComponentInChildren <ShipWeapons>();

        destination = transform.position;

        speedModifier = 1f;
    }
Esempio n. 8
0
        public const string SCENARIO_FILE = "~/App_Data/{0}.txt"; // The Path of the Secnario

        public void writeToFile()
        {
            string path = HttpContext.Current.Server.MapPath(String.Format(SCENARIO_FILE, FileName));

            listen();
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(path, true))
            {
                file.WriteLine(Lon.ToString());
                file.WriteLine(Lat.ToString());
                file.WriteLine(Throttle.ToString());
                file.WriteLine(Rudder.ToString());
            }
        }
Esempio n. 9
0
    // Use this for initialization
    void Start()
    {
        rigidBody     = GetComponent <Rigidbody>();
        submergedTris = new List <TriangleData>();
        originalMesh  = bodyMesh.mesh;

        angularDrag            = rigidBody.angularDrag;
        rigidBody.centerOfMass = centerOfMass;

        sails  = GetComponentInChildren <Sails>();
        rudder = GetComponentInChildren <Rudder>();

        SetupMeshData(originalMesh);
    }
Esempio n. 10
0
    void DisplayRudder(int i)
    {
        rudder = s3DRudderManager.Instance.GetRudder(i);
        ns3DRudder.Status status = rudder.GetStatus();
        string            info   = status == ns3DRudder.Status.NoStatus ? "Not Connected" : "Connected FW : " + rudder.GetVersion().ToString("X4");

        show[i] = EditorGUILayout.Foldout(show[i], "3dRudder " + i + " (" + info + ")");
        if (show[i])
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            EditorGUILayout.LabelField("Axis", EditorStyles.boldLabel);
            ns3DRudder.Axis axis = rudder.GetAxis();
            EditorGUILayout.Slider("Roll (X)", ParsePrecision(axis.GetXAxis()), sliderAxes.x, sliderAxes.y);
            EditorGUILayout.Slider("Pitch (Y)", ParsePrecision(axis.GetYAxis()), sliderAxes.x, sliderAxes.y);
            EditorGUILayout.Slider("Up/Down (Z)", ParsePrecision(axis.GetZAxis()), sliderAxes.x, sliderAxes.y);
            EditorGUILayout.Slider("Yaw (Z rotation)", ParsePrecision(axis.GetZRotation()), sliderAxes.x, sliderAxes.y);

            EditorGUILayout.Space();

            EditorGUILayout.LabelField("Info", EditorStyles.boldLabel);
            var style = new GUIStyle(GUI.skin.label);
            style.normal.textColor = status > ns3DRudder.Status.StayStill ? new Color(0, 0.75f, 0) : new Color(0.75f, 0, 0);
            EditorGUILayout.BeginHorizontal();
            float labelWidth = EditorGUIUtility.labelWidth;
            EditorGUIUtility.labelWidth = 40;
            EditorGUILayout.LabelField("Status", status.ToString(), style);
            if (GUILayout.Button("Test sound"))
            {
                rudder.PlaySnd(4400, 100);
            }
            if (GUILayout.Button(rudder.IsFrozen() ? "Unfreeze" : "Freeze"))
            {
                rudder.SetFreeze(!rudder.IsFrozen());
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
            GUILayout.Label("Sensors", EditorStyles.boldLabel);
            DisplaySensor(rudder);
            EditorGUILayout.EndVertical();
            EditorGUILayout.EndHorizontal();
            EditorGUIUtility.labelWidth = labelWidth;
        }
    }
Esempio n. 11
0
        public void addYourselfToXml(XDocument xDocument)
        {
            XElement root = xDocument.Element("Locations");
            IEnumerable <XElement> rows = root.Descendants("Location");
            XElement firstRow           = rows.Last();

            firstRow.AddAfterSelf(
                new XElement("Location",
                             new XElement("Lat", Lat.ToString()),
                             new XElement("Lon", Lon.ToString()),
                             new XElement("Rudder", Rudder.ToString()),
                             new XElement("Throttle", Throttle.ToString())));

            /* XElement root = xDocument.Element("Locations");
             * XElement son = new XElement("Location");
             * son.Add(new XElement("Lat", Lat.ToString()));
             * son.Add(new XElement("Lon", Lon.ToString()));
             * son.Add(new XElement("Rudder", Rudder.ToString()));
             * son.Add(new XElement("Throttle", Lat.ToString()));
             * root.Add(son);*/
        }
Esempio n. 12
0
 void Start()
 {
     rudder  = GetComponentInChildren <Rudder>();
     sails   = GetComponentInChildren <Sails>();
     weapons = GetComponent <ShipWeapons>();
 }
Esempio n. 13
0
 /// <summary>
 /// this saves the info to the file.
 /// </summary>
 public void SaveToFile()
 {
     if (FileName != null)
     {
         string path = HttpContext.Current.Server.MapPath(String.Format(filePath, FileName));
         string line = (Lat.ToString() + "," + Lon.ToString() + "," + Throttle.ToString() + "," + Rudder.ToString());
         using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))
             using (StreamWriter sw = new StreamWriter(fs))
             {
                 sw.WriteLine(line);
             }
     }
 }