void Awake() { LapsCompleted = 0; currentLegID = LegId.Zero; legDatas = GameObject.FindObjectsOfType <LegTriggerBehavior>(); lapManager = GameObject.FindObjectOfType <LapManager>(); vehicleBehavior = GetComponent <VehicleBehavior>(); playerHUD = GetComponent <VehicleBehavior>().playerHUD; foreach (LegTriggerBehavior l in legDatas) { switch (l.legID) { case LegId.One: leg1 = l.transform; continue; case LegId.Two: leg2 = l.transform; continue; case LegId.Three: leg3 = l.transform; continue; default: break; } } leg4 = lapManager.transform; allPlayers = GameObject.FindGameObjectsWithTag("GameController"); }
// Start is called before the first frame update void Start() { vehicleBehavior = FindObjectOfType <VehicleBehavior>(); ui_Controller = FindObjectOfType <ui_controller>(); Wheel_Detach = gameObject.GetComponentInChildren <Player_Wheel_Detach>(); forceField = gameObject.GetComponentInChildren <ForceField>(); //dF = GetComponent<Rigidbody>(); }
public bool removeFromVehicleList(VehicleBehavior vehicle) { if (vehicleList.Contains(vehicle)) { vehicleList.Remove(vehicle); return(true); } return(false); }
private void Awake() { Instance = this; if (!GameObject.FindObjectOfType <PlayerSelectionManager>()) { SceneManager.LoadScene(0); } vehicles = GameObject.FindObjectsOfType <VehicleBehavior>(); AssignedJoyStickNumbers = new int[vehicles.Length]; foreach (VehicleBehavior v in vehicles) { if (v.PlayerID == 1) { vehicle1 = v; AssignedJoyStickNumbers[0] = v.JoyStick; } if (v.PlayerID == 2) { vehicle2 = v; AssignedJoyStickNumbers[1] = v.JoyStick; } if (v.PlayerID == 3) { vehicle3 = v; AssignedJoyStickNumbers[2] = v.JoyStick; } if (v.PlayerID == 4) { vehicle4 = v; AssignedJoyStickNumbers[3] = v.JoyStick; } } huds = GameObject.FindObjectsOfType <SimpleUI>(); foreach (SimpleUI h in huds) { if (h.PlayerID == 1) { HUDPlayer1 = h; } if (h.PlayerID == 2) { HUDPlayer2 = h; } if (h.PlayerID == 3) { HUDPlayer3 = h; } if (h.PlayerID == 4) { HUDPlayer4 = h; } } }
void SpawnVehicle(float xPos) { GameObject newVehicle = (GameObject)Instantiate(vehicle, new Vector3(xPos, transform.position.y), new Quaternion()); VehicleBehavior vehicleBehavior = newVehicle.GetComponent <VehicleBehavior>(); newVehicle.transform.parent = gameObject.transform; // Assign vehicle its lane vehicleBehavior.Rotate(); vehicleBehavior.SetVelocity(); // set forth vehicle }
private void OnCollisionEnter(Collision c) { if (c.gameObject.tag == "GameController") { vehiclebehavior = c.gameObject.GetComponent <VehicleBehavior>(); vehiclebehavior.Jump(); } }
IEnumerator TakePath(VehicleBehavior v, Path p) { while (IsOccupied()) //stop car { v.Stop(); yield return(null); } v.MovePath(p); //move car yield return(null); }
private void Start() { vehicleBehaviors = GameObject.FindObjectsOfType <VehicleBehavior>(); foreach (VehicleBehavior v in vehicleBehaviors) { if (v.PlayerID == PlayerID) { vehicleBehavior = v; } } }
private void InitCharacterSeleection() { foreach (VehicleBehavior v in FindObjectsOfType <VehicleBehavior>()) { if (v.PlayerID == PlayerID) { vehicleBehavior = v; BeginCharacterSelection(vehicleBehavior); } } }
public VehicleBehavior GenerateCar(Transform spawnAt, bool add = false, float m = 1) { GameObject g = Instantiate(CarModel); g.transform.position = spawnAt.position; g.transform.forward = spawnAt.right; g.transform.eulerAngles = RotationOffset + new Vector3(0, m, 0); VehicleBehavior v = add ? g.AddComponent <VehicleBehavior>() : g.GetComponent <VehicleBehavior>(); v.CarInformation = this; ApplyTexture(g); return(v); }
public static void VehicleDestroyed(VehicleBehavior vb) { if (LeftLaneTraffic.CarsSpawned.Contains(vb)) { LeftLaneTraffic.CarsSpawned.Remove(vb); } if (RightLaneTraffic.CarsSpawned.Contains(vb)) { RightLaneTraffic.CarsSpawned.Remove(vb); } beepBeep.StartCoroutine(MaintainCarQueue()); }
// public Color DirtColor; //public Color StopColor; private void Awake() { particleSystem = GetComponent <ParticleSystem>(); vehicleBehavior = GameObject.FindObjectOfType <VehicleBehavior>(); ui = GameObject.FindObjectOfType <ui_controller>(); mainModule = particleSystem.main; mainModule.startSizeMultiplier *= multiplier; mainModule.startSpeedMultiplier *= multiplier; mainModule.startLifetimeMultiplier *= Mathf.Lerp(multiplier, 1, 0.5f); particleSystem.Clear(); mainModule.loop = true; particleSystem.Play(); }
public void ManageTraffic(float m) { currentSpawnTimer += Time.deltaTime; if (currentSpawnTimer >= TimeTillSpawn) { currentSpawnTimer = 0; TimeTillSpawn = UnityEngine.Random.Range(5f, 10f); CarInfo i = RoadwayTrafficBeepBeep.CarsToSpawn.Dequeue(); VehicleBehavior newVehicle = i.GenerateCar(SpawnPosition, false, m); newVehicle.CarInformation = i; newVehicle.SetVehicleValues(Destination.position, i.MaxSpeed); CarsSpawned.Add(newVehicle); } }
private void OnTriggerEnter(Collider other) { if (other.tag == "Vehicle") { //decide path to take Path p = GetRandomPath(); //get vehicleBehavior VehicleBehavior vehicle = other.transform.GetComponent <VehicleBehavior>(); //junction check bool junctionOK = vehicle.CheckJunction(Junction); if (!junctionOK) { return; } //decide when to move vehicle StartCoroutine(TakePath(vehicle, p)); } }
private void Start() { BeginBackgroundObject.SetActive(false); character = GameObject.FindObjectOfType <SimpleCharacterSelection>(); simpleCharacterSeleciton = GetComponent <SimpleCharacterSelection>(); if (simpleCharacterSeleciton) { Debug.Log("Has Character Selection"); } vehicleBehaviors = GameObject.FindObjectsOfType <VehicleBehavior>(); foreach (VehicleBehavior v in vehicleBehaviors) { if (v.PlayerID == PlayerID) { vehicleBehavior = v; //simpleCharacterSeleciton.BeginCharacterSelection(vehicleBehavior); } } }
private List <VehicleBehavior> GetAllVehiclesWithinRadius(VehicleBehavior vehicle, float maxDist) { var vehiclesInRange = new List <VehicleBehavior> (); foreach (var otherVehicle in vehicleList) { if (otherVehicle == vehicle) { continue; } //check if 'otherVehicle' is within (maxDist) of 'vehicle' if (DistBetweenGameObjects(vehicle.transform, otherVehicle.transform) <= maxDist) { vehiclesInRange.Add(otherVehicle); } } return(vehiclesInRange); }
// Start is called before the first frame update void Start() { vehicleBehaviour = GameObject.FindObjectOfType <VehicleBehavior>(); // character = GameObject.FindObjectOfType<SimpleCharacterSelection>(); character = gameObject.GetComponentInParent <SimpleCharacterSelection>(); if (gameObject.tag == "Player1") { playerNum = 1; } else if (gameObject.tag == "Player2") { playerNum = 2; } else if (gameObject.tag == "Player3") { playerNum = 3; } else if (gameObject.tag == "Player4") { playerNum = 4; } item_selected = 0; ui_item = new GameObject[10]; int i = 0; while (i < 10) { ui_item[i] = gameObject.transform.GetChild(i).gameObject; if (ui_item[i] == null) { throw new System.Exception("ui_item " + i + " not set"); } i++; } }
private void HandleControlsUpTo(VehicleBehavior vehicleNumber) { if (vehicleNumber.isControllerInitialized) { return; } //Debug.Log("Still Searching for controller"); if (vehicle1.JoyStick == -1) { vehicle1.JoyStick = GetJoyStickNumber(); if (vehicle1.JoyStick > 0) { vehicle1.input_steering = "LeftJoyStickX_P" + vehicle1.JoyStick; vehicle1.input_accelerate = "RightTrigger_P" + vehicle1.JoyStick; vehicle1.input_drift = "B_P" + vehicle1.JoyStick; vehicle1.input_nitros = "A_P" + vehicle1.JoyStick; vehicle1.isControllerInitialized = true; AssignedJoyStickNumbers[0] = vehicle1.JoyStick; assignedControllerCount++; } } else if (vehicle2.JoyStick == -1) { vehicle2.JoyStick = GetJoyStickNumber(); if ((vehicle2.JoyStick == vehicle1.JoyStick) || (vehicle2.JoyStick == vehicle3.JoyStick) || (vehicle2.JoyStick == vehicle4.JoyStick)) { return; } if (vehicle2.JoyStick > 0) { vehicle2.input_steering = "LeftJoyStickX_P" + vehicle2.JoyStick; vehicle2.input_accelerate = "RightTrigger_P" + vehicle2.JoyStick; vehicle2.input_drift = "B_P" + vehicle2.JoyStick; vehicle2.input_nitros = "A_P" + vehicle2.JoyStick; vehicle2.isControllerInitialized = true; AssignedJoyStickNumbers[1] = vehicle2.JoyStick; assignedControllerCount++; } } else if (vehicle3.JoyStick == -1) { vehicle3.JoyStick = GetJoyStickNumber(); if ((vehicle3.JoyStick == vehicle1.JoyStick) || (vehicle3.JoyStick == vehicle2.JoyStick) || (vehicle3.JoyStick == vehicle4.JoyStick)) { return; } if (vehicle3.JoyStick > 0) { vehicle3.input_steering = "LeftJoyStickX_P" + vehicle3.JoyStick; vehicle3.input_accelerate = "RightTrigger_P" + vehicle3.JoyStick; vehicle3.input_drift = "B_P" + vehicle3.JoyStick; vehicle3.input_nitros = "A_P" + vehicle3.JoyStick; vehicle3.isControllerInitialized = true; AssignedJoyStickNumbers[2] = vehicle3.JoyStick; assignedControllerCount++; } } else if (vehicle4.JoyStick == -1) { vehicle4.JoyStick = GetJoyStickNumber(); if ((vehicle4.JoyStick == vehicle1.JoyStick) || (vehicle4.JoyStick == vehicle2.JoyStick) || (vehicle4.JoyStick == vehicle3.JoyStick)) { return; } if (vehicle4.JoyStick > 0) { vehicle4.input_steering = "LeftJoyStickX_P" + vehicle4.JoyStick; vehicle4.input_accelerate = "RightTrigger_P" + vehicle4.JoyStick; vehicle4.input_drift = "B_P" + vehicle4.JoyStick; vehicle4.input_nitros = "A_P" + vehicle4.JoyStick; vehicle4.isControllerInitialized = true; AssignedJoyStickNumbers[3] = vehicle4.JoyStick; assignedControllerCount++; } } }
private void OnTriggerEnter(Collider c) { //get the scripts for the players VehicleBehavior car = player.GetComponentInChildren <VehicleBehavior>(); Player_Wheel_Detach wheels = player.GetComponentInChildren <Player_Wheel_Detach>(); ui_controller headsUp = hud.GetComponentInChildren <ui_controller>(); retry = true; while (retry) { if (headsUp.has_tire_1 == true && headsUp.has_tire_2 == true && headsUp.has_tire_3 == true && headsUp.has_tire_4 == true && headsUp.has_hood == true) { //if this is true, then it nullifies the script return; } if (c.gameObject.name == "PickupCollider") { partBack = Random.Range(0, wheels.reservePartsList.Count); if (wheels.reservePartsList[partBack] == 2) { car.wheel4.SetActive(true); wheels.wheel_destroy1.SetActive(true); headsUp.has_tire_2 = true; wheels.reservePartsList.Remove(2); headsUp.ui_item[0].gameObject.SetActive(true); Debug.Log("FL wheel replenished"); } else if (wheels.reservePartsList[partBack] == 1) { car.wheel3.SetActive(true); wheels.wheel_destroy2.SetActive(true); headsUp.has_tire_1 = true; wheels.reservePartsList.Remove(1); Debug.Log("FR wheel replenished"); headsUp.ui_item[2].gameObject.SetActive(true); } else if (wheels.reservePartsList[partBack] == 4) { car.wheel2.SetActive(true); wheels.wheel_destroy3.SetActive(true); headsUp.has_tire_4 = true; wheels.reservePartsList.Remove(4); Debug.Log("RL wheel replenished"); headsUp.ui_item[5].gameObject.SetActive(true); } else if (wheels.reservePartsList[partBack] == 3) { car.wheel1.SetActive(true); wheels.wheel_destroy4.SetActive(true); headsUp.has_tire_3 = true; wheels.reservePartsList.Remove(3); Debug.Log("RR wheel replenished"); headsUp.ui_item[6].gameObject.SetActive(true); } else { Debug.Log("Not supposed to show"); break; } retry = false; } else { //it needs to hit a specific part of the car, otherwise, this activates Debug.Log("Collider Not Hit"); return; } } Destroy(gameObject); }
public override void OnInspectorGUI() { VehicleBehavior vehicleBehavior = (VehicleBehavior)target; if (!vehicleBehavior.isEditorGUI) { base.OnInspectorGUI(); return; } GUIStyle foldoutStyle = new GUIStyle(EditorStyles.foldout); Color foldoutStyleColor = colorVehicleComponents; foldoutStyle.fontStyle = FontStyle.Bold; foldoutStyle.normal.textColor = foldoutStyleColor; foldoutStyle.onNormal.textColor = foldoutStyleColor; foldoutStyle.hover.textColor = foldoutStyleColor; foldoutStyle.onHover.textColor = foldoutStyleColor; foldoutStyle.focused.textColor = foldoutStyleColor; foldoutStyle.onFocused.textColor = foldoutStyleColor; foldoutStyle.active.textColor = foldoutStyleColor; foldoutStyle.onActive.textColor = foldoutStyleColor; GUILayout.Space(20); UpdateStyle(foldoutStyle, colorDebug); showDebugItems = EditorGUILayout.Foldout(showDebugItems, "Debug Menu", foldoutStyle); if (showDebugItems || vehicleBehavior.isEditorGUI) { vehicleBehavior.isCodeDebug = EditorGUILayout.ToggleLeft("Click to debug vehicle in editor", vehicleBehavior.isCodeDebug); vehicleBehavior.isEditorGUI = EditorGUILayout.ToggleLeft("Click to switch back to simple inspector", vehicleBehavior.isEditorGUI); vehicleBehavior.keepTabsOpen = EditorGUILayout.ToggleLeft("Expand All Sections", vehicleBehavior.keepTabsOpen); vehicleBehavior.showRunTimeVariablesOnly = EditorGUILayout.ToggleLeft("View Run-Time Variables Only", vehicleBehavior.showRunTimeVariablesOnly); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorVehicleComponents); showVehicleComponents = EditorGUILayout.Foldout(showVehicleComponents, "Modulo Kart Vehicle Components", foldoutStyle); if (showVehicleComponents || vehicleBehavior.keepTabsOpen) { vehicleBehavior.vehicle_transform = EditorGUILayout.ObjectField("Vehicle Transform", vehicleBehavior.vehicle_transform, typeof(Transform), true) as Transform; vehicleBehavior.vehicle_rigidbody = EditorGUILayout.ObjectField("Vehicle Rigidbody", vehicleBehavior.vehicle_rigidbody, typeof(Rigidbody), true) as Rigidbody; vehicleBehavior.vehicle_heading_transform = EditorGUILayout.ObjectField("Vehicle Heading", vehicleBehavior.vehicle_heading_transform, typeof(Transform), true) as Transform; vehicleBehavior.vehicle_camera_transform = EditorGUILayout.ObjectField("Vehicle Camera", vehicleBehavior.vehicle_camera_transform, typeof(Transform), true) as Transform; vehicleBehavior.axel_rr_transform = EditorGUILayout.ObjectField("Axel: Rear Right", vehicleBehavior.axel_rr_transform, typeof(Transform), true) as Transform; vehicleBehavior.axel_rl_transform = EditorGUILayout.ObjectField("Axel: Rear Left", vehicleBehavior.axel_rl_transform, typeof(Transform), true) as Transform; vehicleBehavior.axel_fr_transform = EditorGUILayout.ObjectField("Axel: Front Right", vehicleBehavior.axel_fr_transform, typeof(Transform), true) as Transform; vehicleBehavior.axel_fl_transform = EditorGUILayout.ObjectField("Axel: Front Left", vehicleBehavior.axel_fl_transform, typeof(Transform), true) as Transform; } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorVehiclePhysicalAttributes); showVehiclePhysicalAttributes = EditorGUILayout.Foldout(showVehiclePhysicalAttributes, "Vehicle Physical Attributes", foldoutStyle); if (showVehiclePhysicalAttributes || vehicleBehavior.keepTabsOpen) { vehicleBehavior.is_4wd = EditorGUILayout.ToggleLeft("Use 4 Wheel Drive", vehicleBehavior.is_4wd); vehicleBehavior.width_float = EditorGUILayout.Slider("Vehicle Width", vehicleBehavior.width_float, 0.1f, 10); vehicleBehavior.length_float = EditorGUILayout.Slider("Vehicle Length", vehicleBehavior.length_float, 0.1f, 10); vehicleBehavior.height_float = EditorGUILayout.Slider("Vehicle Height", vehicleBehavior.height_float, 0.1f, 10); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorPostProfiling); showPostProfiling = EditorGUILayout.Foldout(showPostProfiling, "Post Profiling", foldoutStyle); if (showPostProfiling || vehicleBehavior.keepTabsOpen) { vehicleBehavior.vehicle_camera_postprocess_behavior = EditorGUILayout.ObjectField("Post Process Behavior", vehicleBehavior.vehicle_camera_postprocess_behavior, typeof(PostProcessingBehaviour), true) as PostProcessingBehaviour; vehicleBehavior.vehicle_camera_profile = EditorGUILayout.ObjectField("Post Process Profile", vehicleBehavior.vehicle_camera_profile, typeof(PostProcessingProfile), true) as PostProcessingProfile; } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorCinematics); showCinematics = EditorGUILayout.Foldout(showCinematics, "Cinematics", foldoutStyle); if (showCinematics || vehicleBehavior.keepTabsOpen) { vehicleBehavior.is_Cinematic_View = EditorGUILayout.ToggleLeft("Enable Cinematic View", vehicleBehavior.is_Cinematic_View); vehicleBehavior.min_fov_float = EditorGUILayout.Slider("Cinematic -> FOV: Min", vehicleBehavior.min_fov_float, 60, 110); vehicleBehavior.max_fov_float = EditorGUILayout.Slider("Cinematic -> FOV: Max", vehicleBehavior.max_fov_float, 110, 160); vehicleBehavior.pan_away_float = EditorGUILayout.Slider("Cinematic -> Camera Pan Away Smoothness", vehicleBehavior.pan_away_float, 5, 50); vehicleBehavior.pan_toward_float = EditorGUILayout.Slider("Cinematic -> Camera Pan Toward Smoothness", vehicleBehavior.pan_toward_float, 5, 50); vehicleBehavior.is_MotionBlur = EditorGUILayout.ToggleLeft("Enable Motion Blur", vehicleBehavior.is_MotionBlur); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorRunTimeVariables); showRunTimeVariables = EditorGUILayout.Foldout(showRunTimeVariables, "[RUN TIME] Vehicle Movement Variables", foldoutStyle); if (showRunTimeVariables || vehicleBehavior.keepTabsOpen || vehicleBehavior.showRunTimeVariablesOnly) { //Do not show: Ground_Check_Ray //Do not show: GroundCheck_hits //public bool is_grounded; vehicleBehavior.is_grounded = EditorGUILayout.ToggleLeft("Is Vehicle Grounded", vehicleBehavior.is_grounded); vehicleBehavior.gravity_float = (float)EditorGUILayout.FloatField("Current Gravity", vehicleBehavior.gravity_float); vehicleBehavior.max_accel_modified = EditorGUILayout.FloatField("Current Maximum Target Speed", vehicleBehavior.max_accel_modified); vehicleBehavior.wheel_steer_float = EditorGUILayout.FloatField("Current Wheel Steer", vehicleBehavior.wheel_steer_float); vehicleBehavior.max_steer_modified = EditorGUILayout.FloatField("Current Maximum Target Vehicle Steering", vehicleBehavior.max_steer_modified); vehicleBehavior.accel_magnitude_float = EditorGUILayout.FloatField("Current Acceleration", vehicleBehavior.accel_magnitude_float); vehicleBehavior.steer_magnitude_float = EditorGUILayout.FloatField("Current Steering", vehicleBehavior.steer_magnitude_float); vehicleBehavior.brake_magnitude_float = EditorGUILayout.FloatField("Current Breaking", vehicleBehavior.brake_magnitude_float); vehicleBehavior.drift_correction_float = EditorGUILayout.FloatField("Current Drift Correction", vehicleBehavior.drift_correction_float); vehicleBehavior.nitros_meter_float = EditorGUILayout.FloatField("Current Nitros Meter", vehicleBehavior.nitros_meter_float); vehicleBehavior.nitros_speed_float = EditorGUILayout.FloatField("Current Nitros Speed", vehicleBehavior.nitros_speed_float); vehicleBehavior.tiltLerp_float = EditorGUILayout.FloatField("Current Slope Adjustment", vehicleBehavior.tiltLerp_float); vehicleBehavior.vehicle_air_height = EditorGUILayout.FloatField("Current Vehicle Air Height", vehicleBehavior.vehicle_air_height); vehicleBehavior.vehicle_air_control = EditorGUILayout.FloatField("Current Air Control", vehicleBehavior.vehicle_air_control); vehicleBehavior.vehicle_speed_turn_ratio = EditorGUILayout.FloatField("Current Vehicle Speed Turn Ratio", vehicleBehavior.vehicle_speed_turn_ratio); vehicleBehavior.is_drift = EditorGUILayout.ToggleLeft("Is Vehicle Drifting", vehicleBehavior.is_drift); vehicleBehavior.is_nitrosboost = EditorGUILayout.ToggleLeft("Use Vechicle Nitros", vehicleBehavior.is_nitrosboost); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorMaxMinValues); showMaxMinValues = EditorGUILayout.Foldout(showMaxMinValues, "Max and Min Vehicle Movement Values", foldoutStyle); if (showMaxMinValues || vehicleBehavior.keepTabsOpen) { vehicleBehavior.max_gravity_float = EditorGUILayout.Slider("Max Gravity", vehicleBehavior.max_gravity_float, 0, 500); vehicleBehavior.max_steer_float = EditorGUILayout.Slider("Max Steering", vehicleBehavior.max_steer_float, 0, 50); vehicleBehavior.max_accel_float = EditorGUILayout.Slider("Max Acceleration", vehicleBehavior.max_accel_float, 0, 500); vehicleBehavior.max_brake_float = EditorGUILayout.Slider("Max Braking", vehicleBehavior.max_brake_float, 0, 500); vehicleBehavior.min_drift_correction_float = EditorGUILayout.Slider("Min Drift Correction", vehicleBehavior.min_drift_correction_float, 0, 1); vehicleBehavior.max_drift_correction_float = EditorGUILayout.Slider("Max Drift Correction", vehicleBehavior.max_drift_correction_float, 0, 1); vehicleBehavior.drift_correction_multiplier = EditorGUILayout.Slider("Drift Correction Multiplier", vehicleBehavior.drift_correction_multiplier, 0, 0.1f); vehicleBehavior.drift_accel_multiplier_float = EditorGUILayout.Slider("Drift Accel Multiplier", vehicleBehavior.drift_accel_multiplier_float, 0, 1f); vehicleBehavior.drift_turn_ratio_float = EditorGUILayout.Slider("Drift Turn Ratio", vehicleBehavior.drift_turn_ratio_float, 0, 1); vehicleBehavior.max_nitros_meter_float = EditorGUILayout.Slider("Max Nitros Meter", vehicleBehavior.max_nitros_meter_float, 0, 100); vehicleBehavior.max_nitros_speed_float = EditorGUILayout.Slider("Max Nitros Speed", vehicleBehavior.max_nitros_speed_float, 0, 100); vehicleBehavior.nitros_depletion_rate = EditorGUILayout.Slider("Nitros Ddepletion Rate", vehicleBehavior.nitros_depletion_rate, 0, 20); vehicleBehavior.min_air_control = EditorGUILayout.Slider("Nitros Ddepletion Rate", vehicleBehavior.min_air_control, 0, 1); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorLayersGroundSlope); showLayersGroundSlope = EditorGUILayout.Foldout(showLayersGroundSlope, "Ground and Slope Layers", foldoutStyle); if (showLayersGroundSlope || vehicleBehavior.keepTabsOpen) { LayerMask tempMask = EditorGUILayout.MaskField(InternalEditorUtility.LayerMaskToConcatenatedLayersMask(vehicleBehavior.rayCast_layerMask), InternalEditorUtility.layers); //This goes by regular numbers not bit numbers for this particular case... tempMask = ~(1 << 1 | 1 << 4 | 1 << 5); vehicleBehavior.rayCast_layerMask = InternalEditorUtility.ConcatenatedLayersMaskToLayerMask(tempMask); //Debug.Log("Masks are: " + vehiclleBehavior.rayCast_layerMask); vehicleBehavior.slope_ray_dist_float = EditorGUILayout.Slider("Slope Adjustment Distance", vehicleBehavior.slope_ray_dist_float, 10f, 10000f); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorInputResponsiveness); showInputResponsiveness = EditorGUILayout.Foldout(showInputResponsiveness, "Input Responsiveness", foldoutStyle); if (showInputResponsiveness || vehicleBehavior.keepTabsOpen) { vehicleBehavior.ACCEL = EditorGUILayout.Slider("ACCEL", vehicleBehavior.ACCEL, 0, 100); vehicleBehavior.DRAG = EditorGUILayout.Slider("DRAG", vehicleBehavior.DRAG, 0, 100); vehicleBehavior.ROTATIONAL_DRAG = EditorGUILayout.Slider("ROTATIONAL DRAG", vehicleBehavior.ROTATIONAL_DRAG, 0, 100); vehicleBehavior.GRAVITY = EditorGUILayout.Slider("GRAVITY", vehicleBehavior.GRAVITY, 1, 2000); vehicleBehavior.STEER = EditorGUILayout.Slider("STEER", vehicleBehavior.STEER, 1, 30); vehicleBehavior.STEER_DECELERATION = EditorGUILayout.Slider("STEER DECELERATION", vehicleBehavior.STEER_DECELERATION, 1, 50); vehicleBehavior.DRIFT_ACCELERATION = EditorGUILayout.Slider("DRIFT ACCELERATION", vehicleBehavior.DRIFT_ACCELERATION, 1, 50); vehicleBehavior.DRIFT_STEER_DAMPEN = EditorGUILayout.Slider("DRIFT STEER DAMPEN", vehicleBehavior.DRIFT_STEER_DAMPEN, 1, 50); } GUILayout.Space(20); UpdateStyle(foldoutStyle, colorInputType); showInputType = EditorGUILayout.Foldout(showInputType, "Input Types", foldoutStyle); if (showInputType || vehicleBehavior.keepTabsOpen) { vehicleBehavior.input_type_enum = (InputType)EditorGUILayout.EnumFlagsField("Input Type", vehicleBehavior.input_type_enum); vehicleBehavior.PlayerID = EditorGUILayout.IntSlider("Player ID", vehicleBehavior.PlayerID, 1, 4); vehicleBehavior.JoyStick = EditorGUILayout.IntSlider("Joystick Number", vehicleBehavior.JoyStick, -1, 20); vehicleBehavior.input_steering = EditorGUILayout.TextField("Input Steering", vehicleBehavior.input_steering); vehicleBehavior.input_accelerate = EditorGUILayout.TextField("Input Accelerate", vehicleBehavior.input_accelerate); vehicleBehavior.input_drift = EditorGUILayout.TextField("Input Drift", vehicleBehavior.input_drift); vehicleBehavior.input_nitros = EditorGUILayout.TextField("Input Nitros", vehicleBehavior.input_nitros); } }
// Start is called before the first frame update void Start() { vehicleBehavior = FindObjectOfType <VehicleBehavior>(); //dF = GetComponent<Rigidbody>(); }
void Awake() { saveGameManager = GameObject.FindGameObjectWithTag("SaveGameManager").GetComponent <SaveGameManager>(); LapsCompleted = 0; currentLegID = LegId.Zero; legDatas = GameObject.FindObjectsOfType <LegTriggerBehavior>(); lapManager = GameObject.FindObjectOfType <LapManager>(); lapTransform = lapManager.transform; vehicleBehavior = GetComponent <VehicleBehavior>(); playerHUD = GetComponent <VehicleBehavior>().playerHUD; foreach (LegTriggerBehavior l in legDatas) { switch (l.legID) { case LegId.One: leg1 = l.transform; continue; case LegId.Two: leg2 = l.transform; continue; case LegId.Three: leg3 = l.transform; continue; case LegId.Four: leg4 = l.transform; continue; case LegId.Five: leg5 = l.transform; continue; case LegId.Six: leg6 = l.transform; continue; case LegId.Seven: leg7 = l.transform; continue; case LegId.Eight: leg8 = l.transform; continue; case LegId.Nine: leg9 = l.transform; continue; case LegId.Ten: leg10 = l.transform; continue; case LegId.Eleven: leg11 = l.transform; continue; case LegId.Twelve: leg12 = l.transform; continue; case LegId.Thirteen: leg13 = l.transform; continue; default: break; } } leg4 = lapManager.transform; allPlayers = GameObject.FindGameObjectsWithTag("GameController"); }
// Start is called before the first frame update void Start() { vehicleBehavior = GameObject.FindObjectOfType <VehicleBehavior>(); nearMissText.SetActive(false); airTimeText.SetActive(false); }
// Start is called before the first frame update void Start() { vehicleBehavior = GameObject.FindObjectOfType <VehicleBehavior>(); ui = GameObject.FindObjectOfType <ui_controller>(); }
public List <VehicleBehavior> calculatePath(VehicleBehavior vehicleStart, VehicleBehavior vehicleEnd) { ShortestPath.Clear(); // Deactivate all radius foreach (VehicleBehavior vehicle in vehicleList) { vehicle.showSearchRadius = false; } //bfsInfo keeps track of the shortest path // Key: The VehicleBehavior (vehicle) // Value: Tuple of <float, GameObject> where // float: the distance from vehicleStart to this VehicleBehavior // VehicleBehavior: the prior Vehicle that has the shortest path back to the start node var bfsInfo = new Dictionary <VehicleBehavior, Tuple <float, VehicleBehavior> >(); //add the starting node to our BFS map bfsInfo.Add(vehicleStart, new Tuple <float, VehicleBehavior> (0f, null)); var bfsQueue = new Queue <VehicleBehavior> (); //seed the search with the first item bfsQueue.Enqueue(vehicleStart); while (bfsQueue.Count > 0) { var vehicle = bfsQueue.Dequeue(); var vehiclesInRange = GetAllVehiclesWithinRadius(vehicle, vehicle.searchRadius); var vehicleInfo = bfsInfo [vehicle]; //go through all nearby vehicles foreach (var otherVehicle in vehiclesInRange) { var distBtwnVehicles = DistBetweenGameObjects(vehicle.transform, otherVehicle.transform); //is this the first time we're vising this node... //or did we just find a more efficient path? if (!bfsInfo.ContainsKey(otherVehicle) || bfsInfo[otherVehicle].First > distBtwnVehicles + bfsInfo[vehicle].First) { //We just found out that going from 'vehicle' to 'otherVehicle' is more efficient //than whatever we had before, so save this info. bfsInfo[otherVehicle] = new Tuple <float, VehicleBehavior>(distBtwnVehicles + bfsInfo[vehicle].First, vehicle); //because we just updated this node, there might be more info to glean from revisiting it, //so let's add it back into the queue if (!bfsQueue.Contains(otherVehicle)) { bfsQueue.Enqueue(otherVehicle); } } } } Debug.Log("Done doing BFS."); //check if we found a solution if (!bfsInfo.ContainsKey(vehicleEnd)) { //uh oh, we never encountered the end vehicle, so there's no path! Debug.LogWarning("Couldn't find any path between the vehicles!!!"); DrawPath(ShortestPath); MessagesLostNoRoute++; return(null); } //Time to traverse the path back to the start node var node = vehicleEnd; while (node != null) { // Activate radius display node.showSearchRadius = true; ShortestPath.Add(node); node = bfsInfo [node].Second; } ShortestPath.Reverse(); Debug.Log("Shortest path involves traversing through " + ShortestPath.Count + " nodes."); DrawPath(ShortestPath); return(ShortestPath); }
// Start is called before the first frame update void Start() { vehicleBehavior = GameObject.FindObjectOfType <VehicleBehavior>(); //target.transform.position = spawnpoint.transform.position + new Vector3(0, 0, 100); }
public bool addToVehicleList(VehicleBehavior vehicle) { vehicleList.Add(vehicle); return(true); }
private void OnTriggerEnter(Collider c) { if (c.gameObject.tag == "GameController") { AudioManager.instance.Play("Collectible_Sound"); ThisCollider = c; player = c.gameObject; car = player.GetComponentInChildren <VehicleBehavior>(); wheels = player.GetComponentInChildren <Player_Wheel_Detach>(); headsUp = c.gameObject.GetComponentInChildren <VehicleBehavior>().playerHUD.GetComponentInChildren <ui_controller>(); if (headsUp) { Debug.Log("HEADS UP: " + headsUp); } else { Debug.Log("NO HEADS UP"); } Debug.Log("Cody Test"); } //get the scripts for the players //VehicleBehavior car = player.GetComponentInChildren<VehicleBehavior>(); //Player_Wheel_Detach wheels = player.GetComponentInChildren<Player_Wheel_Detach>(); //ui_controller headsUp = hud.GetComponentInChildren<ui_controller>(); // while (retry) // { if (headsUp) { AVerySimpleEnumOfCharacters character = headsUp.GetCharacter(); if (upType == PickUpType.Tires) { if (headsUp.has_tire_1 == true && headsUp.has_tire_2 == true && headsUp.has_tire_3 == true && headsUp.has_tire_4 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); partBack = Random.Range(0, wheels.reservePartsList.Count); if (wheels.reservePartsList[partBack] == 2) { car.wheel4.SetActive(true); wheels.wheel_destroy1.SetActive(true); // headsUp.has_tire_2 = true; wheels.reservePartsList.Remove(2); // headsUp.ui_item[0].gameObject.SetActive(true); headsUp.RegainPart(5); Debug.Log("FR wheel replenished"); } else if (wheels.reservePartsList[partBack] == 1) { car.wheel3.SetActive(true); wheels.wheel_destroy2.SetActive(true); // headsUp.has_tire_1 = true; wheels.reservePartsList.Remove(1); Debug.Log("FL wheel replenished"); // headsUp.ui_item[2].gameObject.SetActive(true); headsUp.RegainPart(7); } else if (wheels.reservePartsList[partBack] == 4) { car.wheel2.SetActive(true); wheels.wheel_destroy3.SetActive(true); // headsUp.has_tire_4 = true; wheels.reservePartsList.Remove(4); Debug.Log("RL wheel replenished"); // headsUp.ui_item[5].gameObject.SetActive(true); headsUp.RegainPart(0); } else if (wheels.reservePartsList[partBack] == 3) { car.wheel1.SetActive(true); wheels.wheel_destroy4.SetActive(true); // headsUp.has_tire_3 = true; wheels.reservePartsList.Remove(3); Debug.Log("RR wheel replenished"); // headsUp.ui_item[7].gameObject.SetActive(true); headsUp.RegainPart(2); } else { Debug.Log("Not supposed to show"); // break; } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } else { //it needs to hit a specific part of the car, otherwise, this activates Debug.Log("Collider Not Hit"); return; } } else if (upType == PickUpType.Nitro) { if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); if (car.nitros_meter_float + nitroPickUp > car.max_nitros_meter_float) { if (character == AVerySimpleEnumOfCharacters.Felix || character == AVerySimpleEnumOfCharacters.Toby) { float dif = car.max_nitros_meter_float - car.nitros_meter_float; car.nitros_meter_float = car.max_nitros_meter_float; car.extra_nitros_meter_float += (nitroPickUp - dif); if (car.extra_nitros_meter_float > 50 && character == AVerySimpleEnumOfCharacters.Felix) { car.extra_nitros_meter_float = 50; } else if (car.extra_nitros_meter_float > 25 && character == AVerySimpleEnumOfCharacters.Toby) { car.extra_nitros_meter_float = 25; } } else { car.nitros_meter_float = car.max_nitros_meter_float; } } else { car.nitros_meter_float += nitroPickUp; } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } } else if (upType == PickUpType.Character) { switch (character) { case AVerySimpleEnumOfCharacters.Felix: if (headsUp.has_door_1 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Maxine: if (headsUp.has_door_1 == true && headsUp.has_extra1 == true && headsUp.has_extra2 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Paul: if (headsUp.has_door_1 == true && headsUp.has_Shield == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Toby: if (headsUp.has_door_1 == true && headsUp.has_extra1 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; } if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); bool retry = true; partBack = Random.Range(0, 5); while (retry == true) { switch (partBack) { case 0: if (headsUp.has_door_1) { partBack++; } else { headsUp.RegainPart(3); retry = false; } break; case 1: if (headsUp.has_door_2) { partBack++; } else { headsUp.RegainPart(4); retry = false; } break; case 2: if (headsUp.has_Shield || character != AVerySimpleEnumOfCharacters.Paul) { partBack++; } else { headsUp.has_Shield = true; retry = false; } break; case 3: if (headsUp.has_extra1 || character == AVerySimpleEnumOfCharacters.Felix || character == AVerySimpleEnumOfCharacters.Paul || character == AVerySimpleEnumOfCharacters.NotInGame) { partBack++; } else { headsUp.RegainPart(8); retry = false; } break; case 4: if (headsUp.has_extra2 || character != AVerySimpleEnumOfCharacters.Maxine) { partBack = 0; // retry = false; } else { headsUp.RegainPart(9); retry = false; } break; } } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } } } else { Debug.Log("We have no 'Heads up' Object"); return; } }
// Start is called before the first frame update void Start() { vehicleBehavior = GameObject.FindObjectOfType <VehicleBehavior>(); }
public void BeginCharacterSelection(VehicleBehavior v) { vehicleBehavior = v; SetCharacterSprite(); }