Exemplo n.º 1
0
    void Start()
    {
        SpeedometerIUs = base.GetComponents <SpeedometerUI>();
        oEngine        = base.GetComponent <RGKCar_Engine>() as RGKCar_Engine;

        foreach (SpeedometerUI oSUI in SpeedometerIUs)
        {
            if (oSUI.ControlName == "Speed")
            {
                oSpeedoForSpeed = oSUI;
            }
            else if (oSUI.ControlName == "Turbo")
            {
                oSpeedoForTurbo = oSUI;
            }
            else if (oSUI.ControlName == "RPM")
            {
                oSpeedoForRPM = oSUI;
            }
            else if (oSUI.ControlName == "" || oSUI.ControlName == "ALL")
            {
                oSpeedoForAll = oSUI;
            }
        }
    }
Exemplo n.º 2
0
    //UNCOMMENT FOR UNITYCAR
    //Drivetrain UnityCarDriveTrain = null;


    void Start()
    {
        //FIND THE SPEEDOMETER COMPONENT
        SpeedometerUIComponent = base.GetComponent <SpeedometerUI>();


        #region "RGKCAR SPEEDO CONNECTION"
        ////UNCOMMENT FOR RGKCAR
        RGKEngine = base.GetComponent <RGKCar_Engine>() as RGKCar_Engine;
        #endregion

        #region "UNITYCAR SPEEDO CONNECTION"
        ////UNCOMMENT FOR UNITYCAR
        //UnityCarDriveTrain = base.GetComponent<Drivetrain>() as Drivetrain;
        #endregion
    }
Exemplo n.º 3
0
 void Start()
 {
     rb         = GetComponent <Rigidbody>();
     speedUI    = FindObjectOfType <SpeedometerUI>();
     carExhaust = FindObjectOfType <CarExhaust>();
 }
Exemplo n.º 4
0
 void Start()
 {
     oSpeedometerIU = base.GetComponent <SpeedometerUI>() as SpeedometerUI;
 }
Exemplo n.º 5
0
    public override void OnInspectorGUI()
    {
        EditorGUIUtility.LookLikeInspector();
        SpeedometerUIComponent      = target as SpeedometerUI;
        SpeedometerUIComponent.name = SpeedometerUIComponent.name; // Debug Warning Removal



        GUILayout.Space(10);
        GUILayoutOption[] options = new GUILayoutOption[] { };

        //Logo
        GUILayout.BeginHorizontal(options);
        GUILayout.Space((Screen.width - 310) / 2);
        GUILayout.Box(LogoForInspector, GUIStyle.none, GUILayout.Width(310), GUILayout.Height(60));
        GUILayout.EndHorizontal();
        //logo end


        Color defaultColor = GUI.backgroundColor;

        GUILayout.BeginVertical("Box");
        EditorGUI.indentLevel = -1;
        EditorGUILayout.LabelField("Speedometer UI v1.2 ", EditorStyles.boldLabel);
        EditorGUILayout.Space();
        SpeedometerUIComponent.ConfigurationAsset = EditorGUILayout.ObjectField("Configuration File :", SpeedometerUIComponent.ConfigurationAsset, typeof(TextAsset), false) as TextAsset;
        EditorGUILayout.Space();
        GUI.backgroundColor = Color.red;
        GUILayout.BeginHorizontal();
        EditorGUILayout.Space();
        if (SpeedometerUIComponent.ConfigurationAsset == null)
        {
            GUI.enabled = false;
        }
        if (GUILayout.Button("Load Settings", GUI.skin.GetStyle("ButtonLeft"), GUILayout.Width(100), GUILayout.Height(20)))
        {
            SpeedometerUIComponent.loadJSONData();
        }

        if (GUILayout.Button("Save Settings", GUI.skin.GetStyle("ButtonRight"), GUILayout.Width(100), GUILayout.Height(20)))
        {
            if (EditorUtility.DisplayDialog("Confirm Overwrite",
                                            "Are you sure you want to overwrite to " + SpeedometerUIComponent.ConfigurationAsset.name + " file?", "YES", "NO"))
            {
                JsonObject oJ = SpeedometerUIComponent.buildJSONData();
                if (oJ != null)
                {
                    bool blnRes = WriteJSONFile(SpeedometerUIComponent.ConfigurationAsset, oJ);

                    if (blnRes)
                    {
                        Debug.Log("SPEEDOMETER UI INFORMATION\r\nConfiguration file saved succesfuly!");
                    }
                }
            }
        }

        GUI.enabled = true;

        GUILayout.EndHorizontal();
        EditorGUILayout.Space();

        SpeedometerUIComponent.LoadSettingsFromFile = EditorGUILayout.Toggle("Load Settings From File On Start", SpeedometerUIComponent.LoadSettingsFromFile);

        GUILayout.EndVertical();
        EditorGUILayout.Space();
        GUI.backgroundColor = defaultColor;

        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("Control Settings", EditorStyles.boldLabel);
        SpeedometerUIComponent.ControlName = EditorGUILayout.TextField("Control Name", SpeedometerUIComponent.ControlName);
        SpeedometerUIComponent.Depth       = EditorGUILayout.IntField("Control Depth", SpeedometerUIComponent.Depth);
        GUILayout.EndVertical();
        EditorGUILayout.Space();


        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("Gauge Settings", EditorStyles.boldLabel);
        SpeedometerUIComponent.GaugeDial           = (Texture2D)(EditorGUILayout.ObjectField("Gauge Dial Texture", SpeedometerUIComponent.GaugeDial, typeof(Texture2D), false));
        SpeedometerUIComponent.GaugeSize           = EditorGUILayout.Vector2Field("Gauge Size", SpeedometerUIComponent.GaugeSize);
        SpeedometerUIComponent.GaugePositionOffset = EditorGUILayout.Vector2Field("Gauge Position Offset", SpeedometerUIComponent.GaugePositionOffset);
        SpeedometerUIComponent.GaugePosition       = (SpeedometerUI.GaugePositionEnum)EditorGUILayout.EnumPopup("Gauge Position", SpeedometerUIComponent.GaugePosition);
        SpeedometerUIComponent.SpeedoSkin          = (GUISkin)(EditorGUILayout.ObjectField("Skin", SpeedometerUIComponent.SpeedoSkin, typeof(GUISkin), false));
        GUILayout.EndVertical();
        EditorGUILayout.Space();


        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("Speedo Settings", EditorStyles.boldLabel);
        SpeedometerUIComponent.SpeedoNeedleTexture        = (Texture2D)(EditorGUILayout.ObjectField("Needle Texture", SpeedometerUIComponent.SpeedoNeedleTexture, typeof(Texture2D), false));
        SpeedometerUIComponent.SpeedoNeedleSize           = EditorGUILayout.Vector2Field("Needle Size", SpeedometerUIComponent.SpeedoNeedleSize);
        SpeedometerUIComponent.SpeedoNeedleOffset         = EditorGUILayout.Vector2Field("Needle Offset", SpeedometerUIComponent.SpeedoNeedleOffset);
        SpeedometerUIComponent.SpeedoNeedleCenterDistance = EditorGUILayout.FloatField("Needle Distance to Center", SpeedometerUIComponent.SpeedoNeedleCenterDistance);
        SpeedometerUIComponent.SpeedoNeedleMinValueAngle  = EditorGUILayout.FloatField("Min Value Angle", SpeedometerUIComponent.SpeedoNeedleMinValueAngle);
        SpeedometerUIComponent.SpeedoNeedleMaxValueAngle  = EditorGUILayout.FloatField("Max Value Angle", SpeedometerUIComponent.SpeedoNeedleMaxValueAngle);
        SpeedometerUIComponent.SpeedoNeedleMaxValue       = EditorGUILayout.FloatField("Max Value", SpeedometerUIComponent.SpeedoNeedleMaxValue);

        SpeedometerUIComponent.SpeedoCapTexture = (Texture2D)(EditorGUILayout.ObjectField("Needle Cap Texture", SpeedometerUIComponent.SpeedoCapTexture, typeof(Texture2D), false));
        SpeedometerUIComponent.SpeedoCapSize    = EditorGUILayout.Vector2Field("Needle Cap Size", SpeedometerUIComponent.SpeedoCapSize);
        GUILayout.EndVertical();
        EditorGUILayout.Space();

        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("RPM Settings", EditorStyles.boldLabel);
        SpeedometerUIComponent.EnableRPM = EditorGUILayout.Toggle("Enable RPM", SpeedometerUIComponent.EnableRPM);
        if (SpeedometerUIComponent.EnableRPM)
        {
            SpeedometerUIComponent.RPMNeedleTexture        = (Texture2D)(EditorGUILayout.ObjectField("Needle Texture", SpeedometerUIComponent.RPMNeedleTexture, typeof(Texture2D), false));
            SpeedometerUIComponent.RPMNeedleSize           = EditorGUILayout.Vector2Field("Needle Size", SpeedometerUIComponent.RPMNeedleSize);
            SpeedometerUIComponent.RPMNeedleOffset         = EditorGUILayout.Vector2Field("Needle Offset", SpeedometerUIComponent.RPMNeedleOffset);
            SpeedometerUIComponent.RPMNeedleCenterDistance = EditorGUILayout.FloatField("Needle Distance to Center", SpeedometerUIComponent.RPMNeedleCenterDistance);
            SpeedometerUIComponent.RPMNeedleMinValueAngle  = EditorGUILayout.FloatField("Min Value Angle", SpeedometerUIComponent.RPMNeedleMinValueAngle);
            SpeedometerUIComponent.RPMNeedleMaxValueAngle  = EditorGUILayout.FloatField("Max Value Angle", SpeedometerUIComponent.RPMNeedleMaxValueAngle);
            SpeedometerUIComponent.RPMNeedleMaxValue       = EditorGUILayout.FloatField("Max Value", SpeedometerUIComponent.RPMNeedleMaxValue);

            SpeedometerUIComponent.RPMCapTexture = (Texture2D)(EditorGUILayout.ObjectField("Needle Cap Texture", SpeedometerUIComponent.RPMCapTexture, typeof(Texture2D), false));
            SpeedometerUIComponent.RPMCapSize    = EditorGUILayout.Vector2Field("Needle Cap Size", SpeedometerUIComponent.RPMCapSize);
        }
        GUILayout.EndVertical();
        EditorGUILayout.Space();

        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("Text Settings", EditorStyles.boldLabel);

        SpeedometerUIComponent.ShowSpeedText       = EditorGUILayout.Toggle("Show Speed Text", SpeedometerUIComponent.ShowSpeedText);
        SpeedometerUIComponent.SpeedTextOffset     = EditorGUILayout.Vector2Field("Speed Text Offset", SpeedometerUIComponent.SpeedTextOffset);
        SpeedometerUIComponent.ShowSpeedUnitText   = EditorGUILayout.Toggle("Show Speed Unit Text", SpeedometerUIComponent.ShowSpeedUnitText);
        SpeedometerUIComponent.SpeedUnitTextOffset = EditorGUILayout.Vector2Field("Speed Unit Text Offset", SpeedometerUIComponent.SpeedUnitTextOffset);
        EditorGUILayout.Space();
        SpeedometerUIComponent.ShowRPMText   = EditorGUILayout.Toggle("Show RPM Text", SpeedometerUIComponent.ShowRPMText);
        SpeedometerUIComponent.RPMTextOffset = EditorGUILayout.Vector2Field("RPM Text Offset", SpeedometerUIComponent.RPMTextOffset);
        EditorGUILayout.Space();
        SpeedometerUIComponent.ShowGearText   = EditorGUILayout.Toggle("Show Gear Text", SpeedometerUIComponent.ShowGearText);
        SpeedometerUIComponent.GearTextOffset = EditorGUILayout.Vector2Field("Gear Text Offset", SpeedometerUIComponent.GearTextOffset);

        GUILayout.EndVertical();
        EditorGUILayout.Space();

        GUILayout.BeginVertical("Box");
        EditorGUILayout.LabelField("Values", EditorStyles.boldLabel);
        SpeedometerUIComponent.Speed = EditorGUILayout.FloatField("Speed", SpeedometerUIComponent.Speed);
        SpeedometerUIComponent.RPM   = EditorGUILayout.FloatField("RPM", SpeedometerUIComponent.RPM);
        SpeedometerUIComponent.Gear  = EditorGUILayout.TextField("Gear", SpeedometerUIComponent.Gear);
        GUILayout.EndVertical();
        EditorGUILayout.Space();



        //GUILayout.BeginVertical("Box");
        //EditorGUILayout.LabelField("Speedometer UI Settings", EditorStyles.boldLabel);
        //EditorGUILayout.Space();
        //EditorGUI.indentLevel = 0;
        //DrawDefaultInspector();
        //EditorGUI.indentLevel = 1;
        //GUILayout.EndVertical();

        if (GUI.changed)
        {
            SpeedometerUIComponent.RefreshScreenPosition();
            EditorUtility.SetDirty(SpeedometerUIComponent);
        }
    }