Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
michaelm9945's avatar
11 years ago

OVRUGUI.CS script

I have problems with my script and I have no idea what's wrong. Can someone copy and paste the script here? so I can see how it should look like

5 Replies

Replies have been turned off for this discussion
  • What warnings/errors are you getting. It's hard to give help without more information.
  • This is the error I am getting

    "Assets/OVR/Scripts/Util/OVRUGUI.cs(293,8): error CS8025: Parsing error"

    and this is my OVRUGUI.CS script


    /************************************************************************************

    Copyright : Copyright 2014 Oculus VR, LLC. All Rights reserved.

    Licensed under the Oculus VR Rift SDK License Version

    3.2 (the "License");
    you may not use the Oculus VR Rift SDK except in compliance with the License,
    which is provided at the time of installation or download, or which
    otherwise accompanies this software in either electronic or hard copy form.

    You may obtain a copy of the License at

    http://www.oculusvr.com/licenses/LICENSE-3.2

    Unless required by applicable law or agreed to in writing, the Oculus VR SDK
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

    ************************************************************************************/

    // Use the Unity new GUI with Unity 4.6 or above.
    #if UNITY_4_6 || UNITY_5_0
    #define USE_NEW_GUI
    #endif

    using UnityEngine;
    #if USE_NEW_GUI
    using UnityEngine.UI;
    # endif
    using System.Collections;

    //-------------------------------------------------------------------------------------
    /// <summary>
    /// Class for Unity new GUI built in 4.6
    /// </summary>
    public class OVRUGUI
    {
    #if USE_NEW_GUI

    #region UIGameObject
    private static GameObject NewGUIManager;
    private static GameObject RiftPresent;
    private static GameObject LowPersistence;
    private static GameObject VisionMode;
    private static GameObject FPS;
    private static GameObject Prediction;
    private static GameObject IPD;
    private static GameObject FOV;
    private static GameObject Height;
    private static GameObject SpeedRotationMutipler;
    private static GameObject DeviceDetection;
    private static GameObject ResolutionEyeTexture;
    private static GameObject Latencies;
    #endregion

    #region VRVariables
    [HideInInspector]
    public static string strRiftPresent = null;
    [HideInInspector]
    public static string strLPM = null; //"LowPersistenceMode: ON";
    [HideInInspector]
    public static string strVisionMode = null;//"Vision Enabled: ON";
    [HideInInspector]
    public static string strFPS = null;//"FPS: 0";
    [HideInInspector]
    public static string strIPD = null;//"IPD: 0.000";
    [HideInInspector]
    public static string strPrediction = null;//"Pred: OFF";
    [HideInInspector]
    public static string strFOV = null;//"FOV: 0.0f";
    [HideInInspector]
    public static string strHeight = null;//"Height: 0.0f";
    [HideInInspector]
    public static string strSpeedRotationMultipler = null;//"Spd. X: 0.0f Rot. X: 0.0f";
    [HideInInspector]
    public static OVRPlayerController PlayerController = null;
    [HideInInspector]
    public static OVRCameraRig CameraController = null;
    //[HideInInspector]
    //public static string strDeviceDetection = null;// Device attach / detach
    [HideInInspector]
    public static string strResolutionEyeTexture = null;// "Resolution : {0} x {1}"
    [HideInInspector]
    public static string strLatencies = null;// Device attach / detach
    #endregion

    [HideInInspector]
    public static bool InitUIComponent = false;
    private static float offsetY = 55.0f;
    private static bool isInited = false;
    private static int numOfGUI = 0;
    private static GameObject text;

    /// <summary>
    /// It's for rift present GUI
    /// </summary>
    public static void RiftPresentGUI(GameObject GUIMainOBj)
    {
    RiftPresent = ComponentComposition(RiftPresent);
    RiftPresent.transform.parent = GUIMainOBj.transform;
    RiftPresent.name = "RiftPresent";
    RectTransform r = RiftPresent.GetComponent<RectTransform>();
    r.localPosition = new Vector3(0.0f, 0.0f, 0.0f);
    r.localScale = new Vector3(1.0f, 1.0f, 1.0f);
    r.localEulerAngles = Vector3.zero;

    Text t = RiftPresent.GetComponentInChildren<Text>();
    t.text = strRiftPresent;
    t.fontSize = 20;
    }

    /// <summary>
    /// It's for rift present GUI
    /// </summary>
    public static void UpdateGUI()
    {
    if (InitUIComponent && !isInited)
    {
    InitUIComponents();
    }

    UpdateVariable();
    }


    /// <summary>
    /// Update VR Variables
    /// </summary>
    static void UpdateVariable()
    {
    NewGUIManager.transform.localPosition = new Vector3(0.0f, 100.0f, 0.0f);

    if (!string.IsNullOrEmpty(strLPM))
    LowPersistence.GetComponentInChildren<Text>().text = strLPM;
    if (!string.IsNullOrEmpty(strVisionMode))
    VisionMode.GetComponentInChildren<Text>().text = strVisionMode;
    if (!string.IsNullOrEmpty(strFPS))
    FPS.GetComponentInChildren<Text>().text = strFPS;
    if (!string.IsNullOrEmpty(strPrediction))
    Prediction.GetComponentInChildren<Text>().text = strPrediction;
    if (!string.IsNullOrEmpty(strIPD))
    IPD.GetComponentInChildren<Text>().text = strIPD;
    if (!string.IsNullOrEmpty(strFOV))
    FOV.GetComponentInChildren<Text>().text = strFOV;
    if (!string.IsNullOrEmpty(strResolutionEyeTexture))
    ResolutionEyeTexture.GetComponentInChildren<Text>().text = strResolutionEyeTexture;
    if (!string.IsNullOrEmpty(strLatencies))
    Latencies.GetComponentInChildren<Text>().text = strLatencies;

    if (PlayerController != null)
    {
    if (!string.IsNullOrEmpty(strHeight))
    Height.GetComponentInChildren<Text>().text = strHeight;
    if (!string.IsNullOrEmpty(strSpeedRotationMultipler))
    SpeedRotationMutipler.GetComponentInChildren<Text>().text = strSpeedRotationMultipler;
    }
    }

    /// <summary>
    /// Initialize UI GameObjects
    /// </summary>
    static void InitUIComponents()
    {
    float posY = 0.0f;
    int fontSize = 20;

    NewGUIManager = new GameObject();
    NewGUIManager.name = "GUIManager";
    NewGUIManager.transform.parent = GameObject.Find("OVRGUIMain").transform;
    NewGUIManager.transform.localPosition = Vector3.zero;
    NewGUIManager.transform.localEulerAngles = Vector3.zero;
    NewGUIManager.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);

    // Print out for Low Persistence Mode
    if (!string.IsNullOrEmpty(strLPM))
    {
    LowPersistence = UIObjectManager(LowPersistence, "LowPersistence", posY -= offsetY, strLPM, fontSize);
    }

    // Print out for VisionMode
    if (!string.IsNullOrEmpty(strVisionMode))
    {
    VisionMode = UIObjectManager(VisionMode, "VisionMode", posY -= offsetY, strVisionMode, fontSize);
    }

    // Print out for FPS
    if (!string.IsNullOrEmpty(strFPS))
    {
    FPS = UIObjectManager(FPS, "FPS", posY -= offsetY, strFPS, fontSize);
    }

    // Print out for Prediction
    if (!string.IsNullOrEmpty(strPrediction))
    {
    Prediction = UIObjectManager(Prediction, "Prediction", posY -= offsetY, strPrediction, fontSize);
    }

    // Print out for IPD
    if (!string.IsNullOrEmpty(strIPD))
    {
    IPD = UIObjectManager(IPD, "IPD", posY -= offsetY, strIPD, fontSize);
    }

    // Print out for FOV
    if (!string.IsNullOrEmpty(strFOV))
    {
    FOV = UIObjectManager(FOV, "FOV", posY -= offsetY, strFOV, fontSize);
    }

    if (PlayerController != null)
    {
    // Print out for Height
    if (!string.IsNullOrEmpty(strHeight))
    {
    Height = UIObjectManager(Height, "Height", posY -= offsetY, strHeight, fontSize);
    }

    // Print out for Speed Rotation Multiplier
    if (!string.IsNullOrEmpty(strSpeedRotationMultipler))
    {
    SpeedRotationMutipler = UIObjectManager(SpeedRotationMutipler, "SpeedRotationMutipler", posY -= offsetY, strSpeedRotationMultipler, fontSize);
    }
    }

    // Print out for Resoulution of Eye Texture
    if (!string.IsNullOrEmpty(strResolutionEyeTexture))
    {
    ResolutionEyeTexture = UIObjectManager(ResolutionEyeTexture, "Resolution", posY -= offsetY, strResolutionEyeTexture, fontSize);
    }

    // Print out for Latency
    if (!string.IsNullOrEmpty(strLatencies))
    {
    Latencies = UIObjectManager(Latencies, "Latency", posY -= offsetY, strLatencies, 17);
    posY = 0.0f;
    }

    InitUIComponent = false;
    isInited = true;

    }

    static GameObject UIObjectManager(GameObject gameObject, string name, float posY, string text, int fontSize)
    {
    gameObject = ComponentComposition(gameObject);
    gameObject.name = name;
    gameObject.transform.parent = NewGUIManager.transform;

    RectTransform r = gameObject.GetComponent<RectTransform>();
    r.localPosition = new Vector3(0.0f, posY -= offsetY, 0.0f);

    Text t = gameObject.GetComponentInChildren<Text>();
    t.text = text;
    t.fontSize = fontSize;
    gameObject.transform.localEulerAngles = Vector3.zero;

    r.localScale = new Vector3(1.0f, 1.0f, 1.0f);

    return gameObject;

    }

    /// <summary>
    /// Component composition
    /// </summary>
    /// <returns> Composed game object. </returns>
    static GameObject ComponentComposition(GameObject GO)
    {
    GO = new GameObject();
    GO.AddComponent<RectTransform>();
    GO.AddComponent<CanvasRenderer>();
    GO.AddComponent<Image>();
    GO.GetComponent<RectTransform>().sizeDelta = new Vector2(350f, 50f);
    GO.GetComponent<Image>().color = new Color(7f / 255f, 45f / 255f, 71f / 255f, 200f / 255f);

    text = new GameObject();
    text.AddComponent<RectTransform>();
    text.AddComponent<CanvasRenderer>();
    text.AddComponent<Text>();
    text.GetComponent<RectTransform>().sizeDelta = new Vector2(350f, 50f);
    text.GetComponent<Text>().font = (Font)Resources.Load("DINPro-Bold");
    new object { {new object{

    text.transform.parent .transform}
    .name = "TextBox"}

    }
    ;

    #endif
  • It probably means you have an extra character (like "}") somewhere in the code.

    Looks around and make sure all the braces are matched and there are no typos.
  • I have no idea of what I am doing or looking for when it comes to scripts, that's why all the games I make are just exploration games in open worlds. Did you notice any mistakes or typos in the script?

    The error I am receiving is "Assets/OVR/Scripts/Util/OVRUGUI.cs(293,8): error CS8025: Parsing error"

    and that points to Line 293 (#endif)

    Would it be something to do with the line 293?
  • The issue is that the end of the code you posted doesn't make sense. It should be like this:


    text.transform.parent = GO.transform;
    text.name = "TextBox";

    return GO;
    }

    #endif
    }

    And NOT like this:


    new object { {new object{

    text.transform.parent .transform}
    .name = "TextBox"}

    }
    ;

    #endif


    The error will typically tell you around where the problem is, but sometimes it can be several lines (or more) before the line it tells you. However, if you are having problems debugging an error like this, you will probably have a hard time programming anything even remotely complex. This is a good book for beginners:

    http://www.amazon.com/Learning-Developi ... 1849696586

    Hope that helps.