public void Init() { m_playerBoost = (PlayerBoost)GetComponent(typeof(PlayerBoost)); m_playerTilt = (PlayerTilt)GetComponent(typeof(PlayerTilt)); m_playerRoll = (PlayerRoll)GetComponent(typeof(PlayerRoll)); m_playerRetroBoost = (PlayerRetroBoost)GetComponent(typeof(PlayerRetroBoost)); m_playerCollision = (PlayerCollision)GetComponent(typeof(PlayerCollision)); m_playerBoost.Init(); m_playerTilt.Init(); m_playerRoll.Init(); m_playerRetroBoost.Init(); m_currentOffset = new Vector3(0.5f, 0.5f, 0f); m_targetOffset = m_currentOffset; m_offsetDelta = Vector3.zero; m_prevOffset = Vector3.zero; m_targetSpeed = m_normalSpeed; m_currentSpeed = 0f; m_targetRot = Vector3.forward; SegmentManager.Init(); m_pathPosition = SegmentManager.instance.GetNextPosition(0f); transform.position = m_pathPosition; transform.rotation = Quaternion.identity; if (!m_camera) { m_camera = (ChaseCamera)GameObject.FindObjectOfType(typeof(ChaseCamera)); } m_camera.Init(this); m_camera.UpdateCamera(); }