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; } } }
//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 }
void Start() { rb = GetComponent <Rigidbody>(); speedUI = FindObjectOfType <SpeedometerUI>(); carExhaust = FindObjectOfType <CarExhaust>(); }
void Start() { oSpeedometerIU = base.GetComponent <SpeedometerUI>() as SpeedometerUI; }
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); } }