void Awake()
        {
            // Subscribe to setSteeringController event.
            Events.setSteeringController += OnSetSteeringController;

            // Obtain WheeledVehicle reference.
            wheeledVehicle = GetComponentInChildren <WheeledVehicle>();
            if (!wheeledVehicle)
            {
                Debug.LogWarning("Unable to find required WheeledVehicle for WheeledVehicleSteeringModeAdapter on " + name);
                return;
            }

            // Go through all SteerCharacteristics and store names in a dictionary for easy lookup.
            foreach (SteerCharacteristics sc in steerCharacteristics)
            {
                steerCharacteristicDictionary.Add(sc.steeringControllerName, sc);
            }

            // Save original values as defaults.
            defaultCharacteristics.maxTurnSpeed      = wheeledVehicle.maxTurnSpeed;
            defaultCharacteristics.maxTurnSpeedAtMax = wheeledVehicle.maxTurnSpeedAtMax;
            defaultCharacteristics.maxTurnAngle      = wheeledVehicle.maxTurnAngle;
            defaultCharacteristics.maxTurnAngleAtMax = wheeledVehicle.maxTurnAngleAtMax;

            // Init current controller
            if (Events.currentSteeringController)
            {
                OnSetSteeringController(Events.currentSteeringController);
            }
        }
Example #2
0
 protected virtual void Awake()
 {
     // Obtain Wheeled vehicle reference.
     wheeledVehicle = GetComponent <WheeledVehicle>();
     if (!wheeledVehicle)
     {
         Debug.LogWarning("No WheeledVehicle found for WheeledVehicleSound on " + name);
     }
 }