Контроль музыки, пробел

This commit is contained in:
ThomasCharester committed 2026-02-06 15:50:03 +03:00
1 parent a45223d0e7
commit cd56b1969c
12 files changed
+344 -95

No files matched your search

+8 -41
View File
@@ -6,50 +6,17 @@
<component name="ChangeListManager">
<list default="true" id="7a4e4e1b-6c5f-4c8d-968e-512e90aa8c7c" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.Infra/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Infra/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/PlayerRacer.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/AI/PlayerRacer.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarControllerRB.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarControllerRB.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceGame.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceScores.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/RaceScores.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarInput.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/Racer/Player/PlayerCarInput.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/AppStateMachine.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/PapaInstaller.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Example/Race/UI/PlayerScoreCounter.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/BootstrapState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/App/States/GameplayState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraFactory.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraFactory.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraSettings.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraSettings.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStateMachine.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/ThirdPersonState.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Camera/CameraStates/ThirdPersonState.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/ActionMappings.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Input/ActionMappings.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/InputSystem_Actions.inputactions" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/InputSystem_Actions.inputactions" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car001.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car005.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car006.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car007.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab.meta" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/Example/Race/Cars/source/Sport_Car008.prefab.meta" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Camera/Camera.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Camera/Camera.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Camera/NoneConfig.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Camera/NoneConfig.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Camera/ThirdPersonConfig.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Configs/Camera/ThirdPersonConfig.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Code/Infrastructure/Audio/AudioService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources/UI/Fonts/Bebas Neue Cyrillic SDF.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIGreen.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIGreen.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIRed.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/AIRed.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/Player.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Configs/Player.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerRacist.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/PlayerRacist.prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1).prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Resources_moved/Example/Race/Racist (1).prefab" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/Scenes/Gameplay.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Scenes/Gameplay.unity" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/AudioSourcePrefabConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/CameraSettingsConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/CameraSettingsConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.App.AppStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/Code.Infrastructure.Camera.CameraStateMachine.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/RacerSettingsConfig.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/RacerSettingsConfig.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/manifest.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/manifest.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Packages/packages-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/Packages/packages-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/DynamicsManager.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/DynamicsManager.asset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ProjectSettings/TagManager.asset" beforeDir="false" afterPath="$PROJECT_DIR$/ProjectSettings/TagManager.asset" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -152,7 +119,7 @@
<workItem from="1769342663511" duration="4805000" />
<workItem from="1769350118757" duration="196000" />
<workItem from="1769608253594" duration="3971000" />
<workItem from="1770363329441" duration="10346000" />
<workItem from="1770363329441" duration="12586000" />
</task>
<servers />
</component>
+1 -1
View File
@@ -65,7 +65,7 @@ namespace Code.Example.Race
_raceTrackData.trackData.RacerPoints[i].transform).GetComponent<Racer.AI.Racer>());
PlacedRacers[^1].SetData(_racerPrefabs[_randomizedTypes[i]].Data);
PlacedRacers[^1].Id = i;
_scores.SubscribeRacer(i);
_scores.SubscribeRacer(PlacedRacers[^1]);
}
foreach (var racer in PlacedRacers)
+7 -7
View File
@@ -8,7 +8,7 @@ namespace Code.Example.Race
{
public class RaceScores : IRacerPassedCheckpointHandler, IDisposable
{
private Dictionary<int, int> _scores = new();
private Dictionary<Racer.AI.Racer, int> _scores = new();
private EventBus _eventBus;
public RaceScores(EventBus eventBus)
@@ -16,28 +16,28 @@ namespace Code.Example.Race
_eventBus = eventBus;
_eventBus.Subscribe(this);
}
public void SubscribeRacer(int racer)
public void SubscribeRacer(Racer.AI.Racer racer)
{
_scores.Add(racer, 0);
}
public void ChangeScore(int racer, int additionalScore)
public void ChangeScore(Racer.AI.Racer racer, int additionalScore)
{
_scores[racer] += additionalScore;
_eventBus.RaiseEvent<IScoreChangedHandle>(x=> x.ScoreChanged(racer,additionalScore, GetScores()));
}
public void UnsubscribeRacer(int racer)
public void UnsubscribeRacer(Racer.AI.Racer racer)
{
_scores.Remove(racer);
}
public List<KeyValuePair<int, int>> GetScores()
public List<KeyValuePair<Racer.AI.Racer, int>> GetScores()
{
return _scores.OrderByDescending(x => x.Value).ToList();
}
public void OnRacerPassedCheckpoint(Racer.AI.Racer racer) => ChangeScore(racer.Id,1);
public void OnRacerPassedCheckpoint(Racer.AI.Racer racer) => ChangeScore(racer,1);
public void Dispose()
{
@@ -47,6 +47,6 @@ namespace Code.Example.Race
public interface IScoreChangedHandle : IGlobalSubscriber
{
void ScoreChanged(int racer, int additionalScore, List<KeyValuePair<int, int>> scores);
void ScoreChanged(Racer.AI.Racer racer, int additionalScore, List<KeyValuePair<Racer.AI.Racer, int>> scores);
}
}
@@ -25,7 +25,7 @@ namespace Code.Example.Race.Racer.Player
private void MovementEnded(InputAction.CallbackContext context) => MovementInput = Vector2.zero;
private void BrakePerformed(InputAction.CallbackContext context) => Brake = context.ReadValue<bool>();
private void BrakePerformed(InputAction.CallbackContext context) => Brake = true;
private void BrakeEnded(InputAction.CallbackContext context) => Brake = false;
@@ -38,11 +38,11 @@ namespace Code.Example.Race.UI
{
}
public void ScoreChanged(int racer, int additionalScore, List<KeyValuePair<int,int>> scores)
public void ScoreChanged(Racer.AI.Racer racer, int additionalScore, List<KeyValuePair<Racer.AI.Racer,int>> scores)
{
// if (racer.Data.type == RacerType.Player)
string output = "";
foreach (var score in scores) output += $@"{score.Key}: {score.Value}\n";
foreach (var score in scores) output += $@"{score.Key.Data.name}: {score.Value}\n";
playerScore.text = output;
}
}
@@ -41,8 +41,7 @@ namespace Code.Infrastructure.App.States
}
public void OnReadyToPlay(AudioNames groupName)
{
Context.AudioService.PlayRepeatedly(AudioNames.UISounds,0,new CancellationTokenSource());
Context.AudioService.PlayRepeatedly(AudioNames.UISounds,0);
}
}
}
@@ -2,6 +2,7 @@ using Code.Example.Race;
using Code.Example.Race.Racer;
using Code.Example.Race.Racer.AI;
using Code.Example.Race.Track;
using Code.Infrastructure.Audio;
using Code.Infrastructure.Camera;
using Code.Infrastructure.Camera.CameraStates;
using Code.Infrastructure.Generators;
@@ -53,6 +54,8 @@ namespace Code.Infrastructure.App.States
private void GameplayLoadingCompleted()
{
Context.AudioService.CancelMusic(AudioNames.UISounds, 0);
_raceGame.PlaceRacers();
Context.Camera.SwitchState(CameraMode.ThirdPerson).AllowStateTransition(CameraMode.None);
@@ -17,9 +17,11 @@ namespace Code.Infrastructure.Audio
AudioSource audioSource = null);
UniTaskVoid PlayRepeatedly(AudioNames groupName, int id,
CancellationTokenSource cancellationTokenSource, AudioSourceType sourceType = AudioSourceType.NoBlend, AudioSource audioSource = null);
AudioSourceType sourceType = AudioSourceType.NoBlend, AudioSource audioSource = null, CancellationTokenSource cancellationTokenSource = null);
bool CheckClip(AudioNames groupName, int id);
void CancelMusic(AudioNames groupName, int id);
void ReleaseCancellationSource(AudioNames groupName, int id);
}
public partial class AudioService : IAudioClipsEventHandle, IAudioService
@@ -67,12 +69,22 @@ namespace Code.Infrastructure.Audio
_pool.ReleaseSource(audioSource);
}
private Dictionary<KeyValuePair<AudioNames, int>, CancellationTokenSource> _cancellationTokenSources = new();
public void CancelMusic(AudioNames groupName, int id) => _cancellationTokenSources[new KeyValuePair<AudioNames, int>(groupName, id)].Cancel();
public void ReleaseCancellationSource(AudioNames groupName, int id) => _cancellationTokenSources[new KeyValuePair<AudioNames, int>(groupName, id)] = null;
public async UniTaskVoid PlayRepeatedly(AudioNames groupName, int id,
CancellationTokenSource cancellationTokenSource, AudioSourceType sourceType = AudioSourceType.NoBlend, AudioSource audioSource = null)
AudioSourceType sourceType = AudioSourceType.NoBlend, AudioSource audioSource = null, CancellationTokenSource cancellationTokenSource = null)
{
if (!CheckClip(groupName, id)) return;
if(cancellationTokenSource == null)
{
cancellationTokenSource = new CancellationTokenSource();
_cancellationTokenSources[new KeyValuePair<AudioNames, int>(groupName, id)] = cancellationTokenSource;
}
if (!audioSource) audioSource = _pool.GetSource(sourceType);
if(!audioSource.resource) audioSource.resource = GetClip(groupName, id);
@@ -90,10 +102,12 @@ namespace Code.Infrastructure.Audio
_pool.ReleaseSource(audioSource);
ReleaseCancellationSource(groupName,id);
return;
}
PlayRepeatedly(groupName, id, cancellationTokenSource, sourceType, audioSource).Forget();
PlayRepeatedly(groupName, id, sourceType, audioSource, cancellationTokenSource).Forget();
}
public AudioClip GetClip(AudioNames groupName, int id) => _audioClips[groupName][id];
@@ -149,7 +149,7 @@ Texture2D:
m_ColorSpace: 1
m_PlatformBlob:
image data: 1048576
_typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0c1313131313131313130807090a1313131313131313130a0907081313131313131313130c0b0906010000000000000000000000000205070808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080705020000000000000000000000000105090b0c1313131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313070704010000000000000000000000000000000000000000000004090c0e0f13131313131313131309090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111518182020202020202020201514161720202020202020202017161415202020202020202020191815120d0600000000000000000002080e111414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110e0802000000000000000000060c111518182020202020202020201a1916130d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e2020202020202020201413110d080100000000000000000000000000000000000002091015191b1c2020202020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated
_typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0c1313131313131313130807090a1313131313131313130a0907081313131313131313130c0b0906010000000000000000000000000205070808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080705020000000000000000000000000105090b0c1313131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313070704010000000000000000000000000000000000000000000004090c0e0f13131313131313131309090703000000000000000000000000000000000000000000000000000002060a0c0d131313131313131308080602070b0d0d1313131313131313130605030407090a131313131313131313080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111518182020202020202020201514161720202020202020202017161415202020202020202020191815120d0600000000000000000002080e111414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110e0802000000000000000000060c111518182020202020202020201a1916130d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e2020202020202020201413110d080100000000000000000000000000000000000002091015191b1c2020202020202020201615130f0a040000000000000000000000000000000000000000000000070d1216191920202020202020201514120e1317191a20202020202020201f13120f101316172020202020202020201414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated
m_StreamData:
serializedVersion: 2
offset: 0
@@ -681,6 +681,156 @@ MonoBehaviour:
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 82
m_Metrics:
m_Width: 30.78125
m_Height: 63
m_HorizontalBearingX: 3.59375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 36.1875
m_GlyphRect:
m_X: 211
m_Y: 175
m_Width: 32
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 85
m_Metrics:
m_Width: 29.515625
m_Height: 63.8125
m_HorizontalBearingX: 3.15625
m_HorizontalBearingY: 63
m_HorizontalAdvance: 35.8125
m_GlyphRect:
m_X: 260
m_Y: 92
m_Width: 30
m_Height: 64
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 77
m_Metrics:
m_Width: 41.578125
m_Height: 63
m_HorizontalBearingX: 3.515625
m_HorizontalBearingY: 63
m_HorizontalAdvance: 48.6875
m_GlyphRect:
m_X: 279
m_Y: 10
m_Width: 43
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 80
m_Metrics:
m_Width: 29.34375
m_Height: 63
m_HorizontalBearingX: 3.59375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 33.9375
m_GlyphRect:
m_X: 10
m_Y: 949
m_Width: 30
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 42
m_Metrics:
m_Width: 18.984375
m_Height: 63.1875
m_HorizontalBearingX: 0.90625
m_HorizontalBearingY: 63
m_HorizontalAdvance: 23.046875
m_GlyphRect:
m_X: 59
m_Y: 949
m_Width: 20
m_Height: 64
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 70
m_Metrics:
m_Width: 26.203125
m_Height: 63
m_HorizontalBearingX: 3.59375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 30.953125
m_GlyphRect:
m_X: 60
m_Y: 865
m_Width: 27
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 89
m_Metrics:
m_Width: 34.921875
m_Height: 63
m_HorizontalBearingX: 0.359375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 35.640625
m_GlyphRect:
m_X: 98
m_Y: 947
m_Width: 36
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 47
m_Metrics:
m_Width: 30.046875
m_Height: 64.4375
m_HorizontalBearingX: 2.796875
m_HorizontalBearingY: 63.71875
m_HorizontalAdvance: 35.640625
m_GlyphRect:
m_X: 61
m_Y: 615
m_Width: 31
m_Height: 65
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 66
m_Metrics:
m_Width: 30.609375
m_Height: 63
m_HorizontalBearingX: 3.59375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 36.546875
m_GlyphRect:
m_X: 106
m_Y: 533
m_Width: 32
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
- m_Index: 65
m_Metrics:
m_Width: 34.65625
m_Height: 63
m_HorizontalBearingX: 0.984375
m_HorizontalBearingY: 63
m_HorizontalAdvance: 36.625
m_GlyphRect:
m_X: 129
m_Y: 449
m_Width: 36
m_Height: 63
m_Scale: 1
m_AtlasIndex: 0
m_ClassDefinitionType: 0
m_CharacterTable:
- m_ElementType: 1
m_Unicode: 8230
@@ -806,6 +956,46 @@ MonoBehaviour:
m_Unicode: 57
m_GlyphIndex: 25
m_Scale: 1
- m_ElementType: 1
m_Unicode: 114
m_GlyphIndex: 82
m_Scale: 1
- m_ElementType: 1
m_Unicode: 117
m_GlyphIndex: 85
m_Scale: 1
- m_ElementType: 1
m_Unicode: 109
m_GlyphIndex: 77
m_Scale: 1
- m_ElementType: 1
m_Unicode: 112
m_GlyphIndex: 80
m_Scale: 1
- m_ElementType: 1
m_Unicode: 74
m_GlyphIndex: 42
m_Scale: 1
- m_ElementType: 1
m_Unicode: 102
m_GlyphIndex: 70
m_Scale: 1
- m_ElementType: 1
m_Unicode: 121
m_GlyphIndex: 89
m_Scale: 1
- m_ElementType: 1
m_Unicode: 79
m_GlyphIndex: 47
m_Scale: 1
- m_ElementType: 1
m_Unicode: 98
m_GlyphIndex: 66
m_Scale: 1
- m_ElementType: 1
m_Unicode: 97
m_GlyphIndex: 65
m_Scale: 1
m_AtlasTextures:
- {fileID: -3760900223927394989}
m_AtlasTextureIndex: 0
@@ -937,6 +1127,46 @@ MonoBehaviour:
m_Y: 855
m_Width: 50
m_Height: 84
- m_X: 201
m_Y: 165
m_Width: 51
m_Height: 82
- m_X: 250
m_Y: 82
m_Width: 49
m_Height: 83
- m_X: 269
m_Y: 0
m_Width: 62
m_Height: 82
- m_X: 0
m_Y: 939
m_Width: 49
m_Height: 82
- m_X: 49
m_Y: 939
m_Width: 39
m_Height: 83
- m_X: 50
m_Y: 855
m_Width: 46
m_Height: 82
- m_X: 88
m_Y: 937
m_Width: 55
m_Height: 82
- m_X: 51
m_Y: 605
m_Width: 50
m_Height: 84
- m_X: 96
m_Y: 523
m_Width: 51
m_Height: 82
- m_X: 119
m_Y: 439
m_Width: 55
m_Height: 82
m_FreeGlyphRects:
- m_X: 51
m_Y: 29
@@ -946,26 +1176,10 @@ MonoBehaviour:
m_Y: 29
m_Width: 3
m_Height: 164
- m_X: 51
m_Y: 605
m_Width: 972
m_Height: 418
- m_X: 96
m_Y: 523
m_Width: 927
m_Height: 500
- m_X: 50
m_Y: 357
m_Width: 12
m_Height: 2
- m_X: 62
m_Y: 439
m_Width: 961
m_Height: 2
- m_X: 119
m_Y: 439
m_Width: 904
m_Height: 584
- m_X: 53
m_Y: 112
m_Width: 48
@@ -994,38 +1208,82 @@ MonoBehaviour:
m_Y: 332
m_Width: 870
m_Height: 25
- m_X: 164
m_Y: 332
m_Width: 859
m_Height: 691
- m_X: 189
m_Y: 82
m_Width: 12
m_Height: 82
- m_X: 201
m_Y: 165
m_Y: 247
m_Width: 822
m_Height: 83
m_Height: 1
- m_X: 202
m_Y: 165
m_Y: 247
m_Width: 821
m_Height: 776
- m_X: 252
m_Y: 165
m_Width: 771
m_Height: 858
- m_X: 250
- m_X: 299
m_Y: 82
m_Width: 773
m_Width: 724
m_Height: 941
- m_X: 269
- m_X: 331
m_Y: 0
m_Width: 754
m_Width: 692
m_Height: 1023
- m_X: 0
m_Y: 939
m_Y: 1022
m_Width: 1023
m_Height: 84
m_Height: 1
- m_X: 0
m_Y: 1021
m_Width: 49
m_Height: 2
- m_X: 88
m_Y: 1019
m_Width: 935
m_Height: 4
- m_X: 50
m_Y: 855
m_Width: 973
m_Height: 168
m_Y: 937
m_Width: 38
m_Height: 2
- m_X: 51
m_Y: 689
m_Width: 972
m_Height: 166
- m_X: 96
m_Y: 689
m_Width: 927
m_Height: 248
- m_X: 143
m_Y: 605
m_Width: 880
m_Height: 418
- m_X: 101
m_Y: 605
m_Width: 922
m_Height: 332
- m_X: 62
m_Y: 439
m_Width: 57
m_Height: 2
- m_X: 164
m_Y: 332
m_Width: 859
m_Height: 107
- m_X: 174
m_Y: 332
m_Width: 849
m_Height: 691
- m_X: 119
m_Y: 521
m_Width: 904
m_Height: 2
- m_X: 147
m_Y: 521
m_Width: 876
m_Height: 502
m_FontFeatureTable:
m_MultipleSubstitutionRecords: []
m_LigatureSubstitutionRecords: []
@@ -13,9 +13,13 @@ MonoBehaviour:
m_Name: AIGreen
m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Race.Racer.RacerSettingsConfig
racerData:
name:
name: Trump
speed: 10
angularSpeed: 30
maxAcceleration: 0
brakeAcceleration: 0
turnSensitivity: 0
maxSteerAngle: 0
type: 1
prefabReference:
m_AssetGUID: eb48bfdd161d536498ed1b2810fa476e
@@ -13,9 +13,13 @@ MonoBehaviour:
m_Name: AIRed
m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Race.Racer.RacerSettingsConfig
racerData:
name:
name: Obama
speed: 10
angularSpeed: 30
maxAcceleration: 0
brakeAcceleration: 0
turnSensitivity: 0
maxSteerAngle: 0
type: 2
prefabReference:
m_AssetGUID: eb48bfdd161d536498ed1b2810fa476e
@@ -13,11 +13,11 @@ MonoBehaviour:
m_Name: Player
m_EditorClassIdentifier: Assembly-CSharp::Code.Example.Race.Racer.RacerSettingsConfig
racerData:
name:
name: Jeffrey
speed: 500
angularSpeed: 3
maxAcceleration: 50
brakeAcceleration: 70
brakeAcceleration: 100
turnSensitivity: 2
maxSteerAngle: 20
type: 0