/// <summary> /// 更新させるUIのインスタンスを取得 /// </summary> private void Awake() { mGameState = FindObjectOfType <GameStateManager>(); mUiCurrentGear = FindObjectOfType <UiCurrentGear>(); mUiCurrentSpeed = FindObjectOfType <UiCurrentSpeed>(); mUiEnginePower = FindObjectOfType <UiEnginePower>(); mUiTransmission = FindObjectOfType <UiTransmission>(); mUiCarModel = FindObjectOfType <DataUiCarModel>(); }
private void OnEnable() { mInput = GetComponent <IPlayerInput>(); mRigidbody = GetComponent <Rigidbody>(); mDataUiCarModel = FindObjectOfType <DataUiCarModel>(); mCarParam.PreVelocity = mRigidbody.velocity; //初回起動 if (!mAudioParent) { var obj = Resources.LoadAll("SoundParam"); mSounds = new BaseSoundParam[obj.Length]; mSounds = obj.Select(x => (BaseSoundParam)x).ToArray(); mAudioParent = new GameObject("Audio"); mAudioParent.transform.parent = transform; mAudioParent.transform.localPosition = Vector3.zero; mAudioParent.transform.localRotation = Quaternion.identity; foreach (var x in mSounds) { x.Init(mAudioParent.transform); } } //2回目以降 else if (mAudioParent) { foreach (var x in mSounds) { x.Init(); } } if (!mIsAudioCheck) { return; } var rpmAudio = mAudioParent.Descendants().Where(x => x.name.Contains("RPM")); mAudioParam = new AudioParam [rpmAudio.Count()]; foreach (var x in rpmAudio.Select((x, i) => new { x, i })) { mAudioParam[x.i].source = x.x.GetComponent <AudioSource>(); } }
private void Initialize() { AccessToResources(); //ユーザーの入力を取得 mPlayerInput = GetComponent <IPlayerInput>(); mRigidbody = GetComponent <Rigidbody>(); mDataUiCarModel = FindObjectOfType <DataUiCarModel>(); mGameSceneManager = FindObjectOfType <GameSceneManager>(); mRigidbody.constraints = RigidbodyConstraints.FreezeRotation; mRigidbody.useGravity = false; mInitializer = new TransformInitializer(transform); //エンジン内で使用する計算クラス EngineSpeedCalc engineCalc = new EngineSpeedCalc(mVehicleSettings.GetEngineSettings, mVehicleSettings.GetPenaltySettings, mGearParam, mPlayerInput.GetCurrentGear); //エンジンを初期化 mEngine = new Engine(engineCalc, mRigidbody, gameObject.FindObjectOfInterface <IGearManageable>(), mPlayerInput.GetCurrentGear); mVehicleMove = new VehicleMove(mRigidbody, transform, mWheelParams, mVehicleSettings.GetDriftSettings, mVehicleSettings.GetSteerSensitivities); mAirRide = new AirRide(transform, mRayConfig.GetAirRideRayConfig, mVehicleSettings.GetAirRideSettings); mDirFix = new DirectionFix(transform, mRayConfig.GetDirectionFixRayConfig); mAIPenaltyRay = new DirectionFixRay(transform, mRayConfig.GetDirectionFixRayConfig); mWallHitCheck = new WallHitCheck(transform, mRayConfig.GetLRRayConfig); }
/*各AudioClipごとのGameObjectを作り最初に作った親オブジェクト配下にする*/ private void Initialized() { //初期化済みなら値のリセットのみ行う if (mIsInit) { windRushSource.volume = 0f; windRushSource.pitch = 1f; skidSource.volume = 0f; skidSource.pitch = 1f; brakeSource.volume = 0f; brakeSource.pitch = 1f; roadRollSource.volume = 0f; roadRollSource.pitch = 1f; collisionSource.volume = 0f; collisionSource.pitch = 1f; collisionScrapeSource.volume = 0f; collisionScrapeSource.pitch = 1f; foreach (var x in audioSamples.powerSamplesSource.Concat(audioSamples.coastSamplesSource)) { x.volume = 0f; x.pitch = 1f; } return; } mIsInit = true; mRigidbody = GetComponent <Rigidbody>(); mPreVelocity = mRigidbody.velocity; audioHolder = new GameObject("_Audio"); audioHolder.transform.parent = transform; mPlayerInput = GetComponent <IPlayerInput>(); mDataUiCarModel = FindObjectOfType <DataUiCarModel>(); if (windRush) { windRushSource = CreateAudioSource(windRush); } if (skid) { skidSource = CreateAudioSource(skid); } if (roadRoll) { roadRollSource = CreateAudioSource(roadRoll); } if (brake) { brakeSource = CreateAudioSource(brake); } if (collision) { collisionSource = CreateAudioSource(collision); } if (collisionSource) { collisionSource.loop = false; } collisionScrapeSource = CreateAudioSource(collisionScrape); // Samples Set1 audioSamples.coastBlendRpm = coastTransferRpm; audioSamples.powerBlendRpm = powerTransferRpm; audioSamples.gearWhineBlendRpm = gearWhineTransferRpm; audioSamples.coastSamples = coastSamples; audioSamples.powerSamples = powerSamples; audioSamples.gearWhineSamples = gearWhineSamples; // Create onSampleSources if (powerSamples != null) { audioSamples.powerSamplesLength = powerSamples.Length; audioSamples.powerSamplesSource = new AudioSource[audioSamples.powerSamplesLength]; for (int i = 0; i < audioSamples.powerSamplesLength; i++) { audioSamples.powerSamplesSource[i] = CreateAudioSource(audioSamples.powerSamples[i]); } } // Create onSampleSources if (coastSamples != null) { audioSamples.coastSamplesLength = coastSamples.Length; audioSamples.coastSamplesSource = new AudioSource[audioSamples.coastSamplesLength]; for (int i = 0; i < audioSamples.coastSamplesLength; i++) { audioSamples.coastSamplesSource[i] = CreateAudioSource(audioSamples.coastSamples[i]); } } // Create gearwhineSources if (gearWhineSamples != null) { audioSamples.gearWhineSamplesLength = gearWhineSamples.Length; audioSamples.gearWhineSamplesSource = new AudioSource[audioSamples.gearWhineSamplesLength]; for (int i = 0; i < audioSamples.gearWhineSamplesLength; i++) { audioSamples.gearWhineSamplesSource[i] = CreateAudioSource(audioSamples.gearWhineSamples[i]); } } }
private void Awake() { mGameStateManager = FindObjectOfType <GameStateManager>(); mGameSceneManager = FindObjectOfType <GameSceneManager>(); mDataUiCarModel = FindObjectOfType <DataUiCarModel>(); }