void OnTriggerExit(Collider col) { switch (col.gameObject.tag) { case Constants.TagIntentionToCrossA: case Constants.TagIntentionToCrossB: //Debug.Log("Bazou palhaço"); IntentionToCrossController intentionController = col.transform.GetComponentInParent <IntentionToCrossController>(); intentionController.intention = false; break; } }
void OnTriggerEnter(Collider col) { switch (col.gameObject.tag) { case Constants.Tag.TagCrosswalk: case Constants.Tag.TagIntentionToCrossA: case Constants.Tag.TagIntentionToCrossB: IntentionToCrossController intentionController = col.transform.GetComponentInParent <IntentionToCrossController>(); intentionController.RequestIntention(col.gameObject.tag); break; case Constants.Tag.TagVehicle: gameManager.DisplayGameOver(); break; case Constants.Tag.TagObstacle: break; } }
void OnTriggerEnter(Collider col) { switch (col.gameObject.tag) { case Constants.TagIntentionToCrossA: case Constants.TagIntentionToCrossB: //Debug.Log("QUer atravessar"); IntentionToCrossController intentionController = col.transform.GetComponentInParent <IntentionToCrossController>(); intentionController.intention = true; break; case Constants.TagVehicle: gameManager.DisplayGameOver(); break; case Constants.TagObstacle: break; } }
void OnTriggerEnter(Collider col) { switch (col.gameObject.tag) { // if encounters a crosswalk with the player about to cross, stop case Constants.Tag.TagVehicleStopZone: IntentionToCrossController intentionController = col.transform.GetComponentInParent <IntentionToCrossController>(); if (intentionController != null && intentionController.HasIntention()) { go = false; Invoke("Go", settings.vehicleSettings.vehicleCrosswalkWaitTime); } break; case Constants.Tag.TagVehicleStopZoneAvenueRight: TrafficLightsController trafficControllerR = col.transform.GetComponentInParent <TrafficLightsController>(); trafficLightState = trafficControllerR.trafficRight; if (trafficControllerR != null && (trafficControllerR.trafficRight == TrafficLightState.Red || trafficControllerR.trafficRight == TrafficLightState.Yellow)) { go = false; } break; case Constants.Tag.TagVehicleStopZoneAvenueLeft: TrafficLightsController trafficControllerL = col.transform.GetComponentInParent <TrafficLightsController>(); trafficLightState = trafficControllerL.trafficRight; if (trafficControllerL != null && (trafficControllerL.trafficRight == TrafficLightState.Red || trafficControllerL.trafficRight == TrafficLightState.Yellow)) { go = false; } break; // if encounters a car, means that the car's going slower. Must slow down and match his pace. // if the car is stopping, must stop too. case Constants.Tag.TagVehicleWarningZone: VehicleController carAhead = col.GetComponentInParent <VehicleController>(); // if this event was thrown by the car behind if ((direction == Utils.VehicleDirection.Left && transform.position.x > carAhead.transform.position.x) || (direction == Utils.VehicleDirection.Right && transform.position.x < carAhead.transform.position.x)) { brake += 0.03f; if (carAhead.go) { maxSpeed = carAhead.maxSpeed; if (carAhead.currentSpeed > currentSpeed) { currentSpeed = carAhead.currentSpeed; } } else { go = false; } } break; } }