Интерфейс, конфиги камер

This commit is contained in:
ThomasCharester committed 2025-11-23 00:51:58 +03:00
1 parent efad72b4d9
commit e5f4f292c2
66 files changed
+11452 -9046

No files matched your search

@@ -1,41 +1,51 @@
using Code.App.Loading;
using Code.App.StateMachine; using Code.App.StateMachine;
using Code.Scenes;
using Code.StateMachine; using Code.StateMachine;
using Code.UI; using Code.UI;
using UnityEngine; using Cysharp.Threading.Tasks;
namespace Code.App.AppStates namespace Code.App.AppStates
{ {
public class GameOverState : BaseState<AppStateMachineContext> public class GameOverState : BaseState<AppStateMachineContext>
{ {
public GameOverState(AppStateMachineContext context) : base(context) public GameOverState(AppStateMachineContext context) : base(context)
{ } {
}
private float damnTimer = 3f; // TODO Удалить при первой возможности private float damnTimer = 3f; // TODO Удалить при первой возможности
public override void EnterState() public override void EnterState()
{ {
Context.UIService.SwitchPanelTo(UIPanel.GameOver); GameOver();
base.EnterState(); base.EnterState();
} }
private async UniTaskVoid GameOver()
{
await UniTask.WhenAll(
Context.UIService.AsyncSwitchPanelTo(UIPanel.GameOver),
UniTask.WaitForSeconds(damnTimer)
);
ToMainMenu();
}
private void ToMainMenu() private void ToMainMenu()
{ {
Context.StateMachine.SwitchState(AppState.MainMenu) Context.StateMachine.SwitchState(AppState.MainMenu)
.AllowStateTransition(AppState.Gameplay); .AllowStateTransition(AppState.Gameplay);
} }
public override void Tick() // public override void Tick()
{ // {
damnTimer -= Time.deltaTime; // damnTimer -= Time.deltaTime;
if (damnTimer <= float.Epsilon) ToMainMenu(); // if (damnTimer <= float.Epsilon) ToMainMenu();
} // }
public override void ExitState() public override void ExitState()
{ {
damnTimer = 5f; damnTimer = 5f;
Context.UIService.LoadingScreen.Show();
base.ExitState(); base.ExitState();
} }
} }
@@ -1,5 +1,6 @@
using System.Globalization; using System.Globalization;
using System.Reflection.Emit; using System.Reflection.Emit;
using Code.App.Loading;
using Code.App.StateMachine; using Code.App.StateMachine;
using Code.Audio; using Code.Audio;
using Code.Gameplay.Camera; using Code.Gameplay.Camera;
@@ -41,7 +42,13 @@ namespace Code.App.AppStates
public override void EnterState() public override void EnterState()
{ {
Context.UIService.LoadingScreen.Show(); Context.LoadingManager
.RegisterLoading(LoadingWork.LoadScene)
.RegisterLoading(LoadingWork.WaitForSceneInstaller)
.RegisterLoading(LoadingWork.LoadUI)
.RegisterLoading(LoadingWork.LoadModelResource)
.RegisterLoading(LoadingWork.LoadAudio);
// Context.UIService.LoadingScreen.Show();
_playerMoney = Context.PlayerFactory.CreatePlayerMoney(); _playerMoney = Context.PlayerFactory.CreatePlayerMoney();
_playerHealth = Context.PlayerFactory.CreatePlayerHealth(); _playerHealth = Context.PlayerFactory.CreatePlayerHealth();
@@ -79,7 +86,6 @@ namespace Code.App.AppStates
WaitForPlayerArmsToInitialize(), WaitForPlayerArmsToInitialize(),
WaitForPlayerCharacterLoad() WaitForPlayerCharacterLoad()
); );
MusicInitialize();
Container sceneContainer = SceneManager.GetActiveScene().GetSceneContainer(); Container sceneContainer = SceneManager.GetActiveScene().GetSceneContainer();
@@ -87,24 +93,35 @@ namespace Code.App.AppStates
PlayerInitialize(sceneEnvironment); PlayerInitialize(sceneEnvironment);
UIInitialize();
CameraInitialize(); CameraInitialize();
InputServiceInitialize(); InputServiceInitialize();
GameplayServicesInitialize(sceneContainer); GameplayServicesInitialize(sceneContainer);
MusicInitialize();
UIInitialize();
_tickEnabled = true; _tickEnabled = true;
Context.UIService.LoadingScreen.Hide(); Context.LoadingManager
.UnregisterLoading(LoadingWork.LoadScene)
.UnregisterLoading(LoadingWork.LoadUI)
.UnregisterLoading(LoadingWork.LoadModelResource)
.UnregisterLoading(LoadingWork.LoadAudio);
// Context.UIService.LoadingScreen.Hide();
} }
private async UniTask WaitForPlayerArmsToInitialize() => _armsMesh = await Context.PlayerFactory.CreateArms(Context.CameraStateMachine.Camera.transform); private async UniTask WaitForPlayerArmsToInitialize() => _armsMesh = await Context.PlayerFactory.CreateArms(Context.CameraStateMachine.Camera.transform);
private void OrderGiven(float time) private void OrderGiven(float time)
{ {
_gameplayPanel.ShowTimer();
}
private void OrderFailure()
{
_playerHealth.InstaKill();
} }
private void OrderRecieved(float time) private void OrderRecieved(float time)
{ {
@@ -112,6 +129,8 @@ namespace Code.App.AppStates
} }
private void OrderDelivered(int score, float time) private void OrderDelivered(int score, float time)
{ {
_gameplayPanel.HideTimer();
if(time < 0f) Context.AudioService.PlayDispatcher((DispatcherSounds)Random.Range((int)DispatcherSounds.Late1,(int)DispatcherSounds.Late2)); if(time < 0f) Context.AudioService.PlayDispatcher((DispatcherSounds)Random.Range((int)DispatcherSounds.Late1,(int)DispatcherSounds.Late2));
_playerMoney.GiveMoney(score); _playerMoney.GiveMoney(score);
} }
@@ -145,8 +164,7 @@ namespace Code.App.AppStates
{ {
if (!_tickEnabled) return; if (!_tickEnabled) return;
// TODO ГРЯЗь _orderService.DecreaseTimer(Time.deltaTime);
_gameplayPanel.Timer.text = ((int)_orderService.DecreaseTimer(Time.deltaTime)).ToString(CultureInfo.CurrentCulture);
} }
private void EndGame() private void EndGame()
@@ -166,6 +184,7 @@ namespace Code.App.AppStates
_playerCharacter = null; _playerCharacter = null;
Context.PlayerFactory.ReleaseArms(_armsMesh); Context.PlayerFactory.ReleaseArms(_armsMesh);
_armsMesh = null; _armsMesh = null;
_orderService = null;
Context.InputService.DisableMap(ActionMappings.Gameplay); Context.InputService.DisableMap(ActionMappings.Gameplay);
Context.AudioService.GladlyAskToStopMusic(MusicType.Action, callback: Context.AudioFactory.ReleaseActionMusic); Context.AudioService.GladlyAskToStopMusic(MusicType.Action, callback: Context.AudioFactory.ReleaseActionMusic);
@@ -198,7 +217,9 @@ namespace Code.App.AppStates
private void UIInitialize() private void UIInitialize()
{ {
_gameplayPanel = (GameplayPanel)Context.UIService.CurrentPanel; _gameplayPanel = (GameplayPanel)Context.UIService.CurrentPanel;
_gameplayPanel.Initialize(_playerMoney, _playerHealth); _gameplayPanel.Initialize(_playerMoney, _playerHealth, _orderService);
Context.AudioService.OnDispatcherStarted += _gameplayPanel.SummonDispatcher;
Context.AudioService.OnDispatcherEnded += _gameplayPanel.CloseDispatcher;
} }
private void MusicInitialize() private void MusicInitialize()
{ {
@@ -218,6 +239,7 @@ namespace Code.App.AppStates
_orderService.OnOrderGiven += OrderGiven; _orderService.OnOrderGiven += OrderGiven;
_orderService.OnOrderRecieved += OrderRecieved; _orderService.OnOrderRecieved += OrderRecieved;
_orderService.OnOrderDelivered += OrderDelivered; _orderService.OnOrderDelivered += OrderDelivered;
_orderService.OnOrderFailure += OrderFailure;
} }
private GameplaySceneEnvironment SceneEnvironmentVariables(Container sceneContainer) private GameplaySceneEnvironment SceneEnvironmentVariables(Container sceneContainer)
{ {
@@ -1,3 +1,4 @@
using Code.App.Loading;
using Code.App.StateMachine; using Code.App.StateMachine;
using Code.Audio; using Code.Audio;
using Code.Gameplay.Camera; using Code.Gameplay.Camera;
@@ -24,9 +25,15 @@ namespace Code.App.AppStates
public override void EnterState() public override void EnterState()
{ {
Context.UIService.LoadingScreen.Show(); Context.LoadingManager
.RegisterLoading(LoadingWork.LoadScene)
.RegisterLoading(LoadingWork.WaitForSceneInstaller)
.RegisterLoading(LoadingWork.LoadUI)
.RegisterLoading(LoadingWork.LoadAudio);
Context.CameraStateMachine.SwitchState(CameraMode.UltraStatic); // Context.UIService.LoadingScreen.Show();
Context.CameraStateMachine.SwitchState(CameraMode.MainMenu);
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
WaitForSceneToLoad(); WaitForSceneToLoad();
@@ -40,11 +47,15 @@ namespace Code.App.AppStates
Context.UIService.AsyncSwitchPanelTo(UIPanel.MainMenu), Context.UIService.AsyncSwitchPanelTo(UIPanel.MainMenu),
Context.AudioFactory.WarmMenuMusic() Context.AudioFactory.WarmMenuMusic()
); );
Context.LoadingManager
.UnregisterLoading(LoadingWork.LoadScene)
.UnregisterLoading(LoadingWork.LoadUI)
.UnregisterLoading(LoadingWork.LoadAudio);
InitializeAudio(); InitializeAudio();
var mainMenuEnvironment = ((MainMenuEnvironment)SceneManager.GetActiveScene() var mainMenuEnvironment = (MainMenuEnvironment)SceneManager.GetActiveScene()
.GetSceneContainer().Resolve<CurrentSceneEnvironment>()); .GetSceneContainer().Resolve<CurrentSceneEnvironment>();
InitializeUI(mainMenuEnvironment); InitializeUI(mainMenuEnvironment);
@@ -52,12 +63,12 @@ namespace Code.App.AppStates
InitializeInput(); InitializeInput();
Context.UIService.LoadingScreen.Hide(); // Context.UIService.LoadingScreen.Hide();
} }
private void InitializeCamera(MainMenuEnvironment mainMenuEnvironment) private void InitializeCamera(MainMenuEnvironment mainMenuEnvironment)
{ {
((UltraStaticState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(mainMenuEnvironment ((Gameplay.Camera.CameraStates.MainMenuState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(mainMenuEnvironment
.cameraPosition); .cameraPosition);
} }
@@ -1,3 +1,5 @@
using System.Collections.Generic;
using Code.App.Loading;
using Code.App.StateMachine; using Code.App.StateMachine;
using Code.Audio; using Code.Audio;
using Code.Configs; using Code.Configs;
@@ -26,10 +28,13 @@ namespace Code.App
InstallInfrastructureUnit(containerBuilder, staticDataService); InstallInfrastructureUnit(containerBuilder, staticDataService);
containerBuilder.AddSingleton(typeof(LoadingManager), typeof(ILoadingManager));
containerBuilder.AddSingleton(typeof(InputService), typeof(IInputService)); containerBuilder.AddSingleton(typeof(InputService), typeof(IInputService));
containerBuilder.AddSingleton(typeof(PlayerFactory), typeof(IPlayerFactory)); containerBuilder.AddSingleton(typeof(PlayerFactory), typeof(IPlayerFactory));
InitializeCamera(containerBuilder, staticDataService); InitializeCamera(containerBuilder, staticDataService);
containerBuilder.AddSingleton(typeof(UIFactory), typeof(IUIFactory)); containerBuilder.AddSingleton(typeof(UIFactory), typeof(IUIFactory));
containerBuilder.AddSingleton(typeof(UIService), typeof(IUIService)); containerBuilder.AddSingleton(typeof(UIService), typeof(IUIService));
@@ -72,6 +77,7 @@ namespace Code.App
containerBuilder.AddSingleton(staticDataService.InputConfig, typeof(InputConfig)); containerBuilder.AddSingleton(staticDataService.InputConfig, typeof(InputConfig));
containerBuilder.AddSingleton(staticDataService.CameraConfig, typeof(CameraConfig)); containerBuilder.AddSingleton(staticDataService.CameraConfig, typeof(CameraConfig));
containerBuilder.AddSingleton(staticDataService.CameraSettingsConfigs, typeof(Dictionary<CameraMode,CameraSettingsConfig>));
containerBuilder.AddSingleton(staticDataService.PlayerConfig, typeof(PlayerConfig)); containerBuilder.AddSingleton(staticDataService.PlayerConfig, typeof(PlayerConfig));
containerBuilder.AddSingleton(staticDataService.CharacterConfig, typeof(CharacterConfig)); containerBuilder.AddSingleton(staticDataService.CharacterConfig, typeof(CharacterConfig));
@@ -106,14 +112,22 @@ namespace Code.App
} }
private async UniTaskVoid BootstrapFinish(Container container) private async UniTaskVoid BootstrapFinish(Container container)
{ {
var loadingScreen = GameObject.FindWithTag(Tags.LoadingScreen); var loadingScreen = GameObject.FindWithTag(Tags.LoadingScreen).GetComponent<LoadingScreen>();
DontDestroyOnLoad(loadingScreen); DontDestroyOnLoad(loadingScreen.gameObject);
ILoadingManager loadingManager = container.Resolve<ILoadingManager>();
loadingManager.OnLoadingStarted += loadingScreen.Show;
loadingManager.OnLoadingEnded += loadingScreen.Hide;
loadingManager.RegisterLoading(LoadingWork.Bootstrap);
await UniTask.WhenAll( await UniTask.WhenAll(
container.Resolve<IUIService>().Initialize(loadingScreen.GetComponent<LoadingScreen>()), container.Resolve<IUIService>().Initialize(loadingScreen),
container.Resolve<IAudioService>().Initialize() container.Resolve<IAudioService>().Initialize()
); );
loadingManager.UnregisterLoading(LoadingWork.Bootstrap);
_appStateMachine _appStateMachine
.SwitchState(AppState.MainMenu) .SwitchState(AppState.MainMenu)
.AllowStateTransition(AppState.Gameplay); .AllowStateTransition(AppState.Gameplay);
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 08b54658296d4279b85a2bfc3cf10e62
timeCreated: 1763842256
@@ -0,0 +1,15 @@
using System.Collections.ObjectModel;
namespace Code.App.Loading
{
public interface ILoadingManager
{
delegate void OnLoadingDelegate();
event OnLoadingDelegate OnLoadingStarted;
event OnLoadingDelegate OnLoadingEnded;
ReadOnlyCollection<LoadingWork> LoadingThings { get; }
LoadingManager RegisterLoading(LoadingWork loadingThingName);
LoadingManager UnregisterLoading(LoadingWork loadingThingName);
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: bfb3837590d04da3b04ca8b0f0aca437
timeCreated: 1763842985
@@ -0,0 +1,46 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace Code.App.Loading
{
public class LoadingManager : ILoadingManager
{
public event ILoadingManager.OnLoadingDelegate OnLoadingStarted;
public event ILoadingManager.OnLoadingDelegate OnLoadingEnded;
private List<LoadingWork> _loadingThings = new();
public ReadOnlyCollection<LoadingWork> LoadingThings => _loadingThings.AsReadOnly();
public LoadingManager RegisterLoading(LoadingWork loadingThingName)
{
if(_loadingThings.Count == 0) OnLoadingStarted?.Invoke();
_loadingThings.Add(loadingThingName);
return this;
}
public LoadingManager UnregisterLoading(LoadingWork loadingThingName)
{
_loadingThings.Remove(loadingThingName);
if(_loadingThings.Count == 0) OnLoadingEnded?.Invoke();
return this;
}
}
// public static class LoadingManagerExtensions
// {
// public static LoadingManager AddLoading(this LoadingManager manager, LoadingWork loadingThingName)
// {
// manager.RegisterLoading(loadingThingName);
// return manager;
// }
// public static LoadingManager RemoveLoading(this LoadingManager manager, LoadingWork loadingThingName)
// {
// manager.UnregisterLoading(loadingThingName);
// return manager;
// }
// }
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 185988ac74a24a39864238cd7f5cb626
timeCreated: 1763842268
@@ -0,0 +1,13 @@
namespace Code.App.Loading
{
public enum LoadingWork
{
Bootstrap,
LoadUI,
LoadAudio,
LoadScene,
LoadModelResource,
WaitForSceneInstaller,
WaitingForTime
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 318d1b29b41d4b96bc09334acbf36506
timeCreated: 1763843934
@@ -1,3 +1,4 @@
using Code.App.Loading;
using Code.Gameplay.Orders.Order; using Code.Gameplay.Orders.Order;
using Code.Scenes; using Code.Scenes;
using Code.Scenes.SceneEnvironments; using Code.Scenes.SceneEnvironments;
@@ -21,9 +22,13 @@ namespace Code.App.SceneInstallers
private void Initialize(Container container) private void Initialize(Container container)
{ {
ILoadingManager loadingManager = container.Resolve<ILoadingManager>();
GameplaySceneEnvironment env = (GameplaySceneEnvironment)container.Resolve<CurrentSceneEnvironment>(); GameplaySceneEnvironment env = (GameplaySceneEnvironment)container.Resolve<CurrentSceneEnvironment>();
env.TransitVariables(_gameplaySceneEnvironment); env.TransitVariables(_gameplaySceneEnvironment);
loadingManager.UnregisterLoading(LoadingWork.WaitForSceneInstaller);
} }
} }
} }
@@ -1,8 +1,8 @@
using Code.App.Loading;
using Code.Scenes; using Code.Scenes;
using Code.Scenes.SceneEnvironments; using Code.Scenes.SceneEnvironments;
using Reflex.Core; using Reflex.Core;
using UnityEngine; using UnityEngine;
using UnityEngine.Serialization;
namespace Code.App.SceneInstallers namespace Code.App.SceneInstallers
{ {
@@ -22,6 +22,10 @@ namespace Code.App.SceneInstallers
MainMenuEnvironment env = (MainMenuEnvironment)container.Resolve<CurrentSceneEnvironment>(); MainMenuEnvironment env = (MainMenuEnvironment)container.Resolve<CurrentSceneEnvironment>();
env.TransitVariables(_mainMenuEnvironment); env.TransitVariables(_mainMenuEnvironment);
ILoadingManager loadingManager = container.Resolve<ILoadingManager>();
loadingManager.UnregisterLoading(LoadingWork.WaitForSceneInstaller);
} }
} }
} }
@@ -1,3 +1,4 @@
using Code.App.Loading;
using Code.Audio; using Code.Audio;
using Code.Gameplay.Camera; using Code.Gameplay.Camera;
using Code.Gameplay.Player; using Code.Gameplay.Player;
@@ -10,6 +11,7 @@ namespace Code.App.StateMachine
{ {
public class AppStateMachineContext public class AppStateMachineContext
{ {
[Inject] public ILoadingManager LoadingManager { get; private set; }
[Inject] public ISceneLoaderService SceneLoaderService { get; private set; } [Inject] public ISceneLoaderService SceneLoaderService { get; private set; }
[Inject] public IInputService InputService { get; private set; } [Inject] public IInputService InputService { get; private set; }
[Inject] public AppStateMachine StateMachine { get; private set; } [Inject] public AppStateMachine StateMachine { get; private set; }
@@ -164,9 +164,12 @@ namespace Code.Audio
_audioSourcePool.PlayOneShot(_audioFactory.EnemiesAudios[(int)enemySoundId], position, _enemiesGroup); _audioSourcePool.PlayOneShot(_audioFactory.EnemiesAudios[(int)enemySoundId], position, _enemiesGroup);
} }
public event IAudioService.OnAudioPlayingDelegate OnDispatcherStarted;
public event IAudioService.OnAudioPlayingDelegate OnDispatcherEnded;
public void PlayDispatcher(DispatcherSounds dispatcherSoundId) public void PlayDispatcher(DispatcherSounds dispatcherSoundId)
{ {
_audioSourcePool.PlayShizo(_audioFactory.DispatcherAudios[(int)dispatcherSoundId], _dispatcherGroup); OnDispatcherStarted?.Invoke();
_audioSourcePool.PlayShizo(_audioFactory.DispatcherAudios[(int)dispatcherSoundId], _dispatcherGroup, () => OnDispatcherEnded?.Invoke());
} }
} }
} }
@@ -1,7 +1,9 @@
using System;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using UnityEngine; using UnityEngine;
using UnityEngine.Audio; using UnityEngine.Audio;
using UnityEngine.Pool; using UnityEngine.Pool;
using Object = UnityEngine.Object;
namespace Code.Audio namespace Code.Audio
{ {
@@ -55,7 +57,7 @@ namespace Code.Audio
Object.Destroy(source.gameObject); Object.Destroy(source.gameObject);
} }
public async UniTaskVoid PlayOneShot(AudioClip clip, Vector3 position, AudioMixerGroup audioMixerGroup) public async UniTaskVoid PlayOneShot(AudioClip clip, Vector3 position, AudioMixerGroup audioMixerGroup, Action onComplete = null)
{ {
AudioSource source = _pool.Get(); AudioSource source = _pool.Get();
source.PlayOneShot(clip); source.PlayOneShot(clip);
@@ -64,10 +66,10 @@ namespace Code.Audio
source.outputAudioMixerGroup = audioMixerGroup; source.outputAudioMixerGroup = audioMixerGroup;
await UniTask.WaitUntilValueChanged(source, x => x.isPlaying); await UniTask.WaitUntilValueChanged(source, x => x.isPlaying);
onComplete?.Invoke();
_pool.Release(source); _pool.Release(source);
} }
public async UniTaskVoid PlayShizo(AudioClip clip, AudioMixerGroup audioMixerGroup) public async UniTaskVoid PlayShizo(AudioClip clip, AudioMixerGroup audioMixerGroup, Action onComplete = null)
{ {
AudioSource source = _pool.Get(); AudioSource source = _pool.Get();
source.PlayOneShot(clip); source.PlayOneShot(clip);
@@ -75,7 +77,7 @@ namespace Code.Audio
source.outputAudioMixerGroup = audioMixerGroup; source.outputAudioMixerGroup = audioMixerGroup;
await UniTask.WaitUntilValueChanged(source, x => x.isPlaying); await UniTask.WaitUntilValueChanged(source, x => x.isPlaying);
onComplete?.Invoke();
_pool.Release(source); _pool.Release(source);
} }
public AudioSource GetSource() => _pool.Get(); public AudioSource GetSource() => _pool.Get();
@@ -14,6 +14,11 @@ namespace Code.Audio
void TransitToSnapshot(AudioSnapshotState state, float time = 1f); void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
void PlaySFX(SFXSounds sfxId, Vector3 position); void PlaySFX(SFXSounds sfxId, Vector3 position);
void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position); void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position);
delegate void OnAudioPlayingDelegate();
event OnAudioPlayingDelegate OnDispatcherStarted;
event OnAudioPlayingDelegate OnDispatcherEnded;
void PlayDispatcher(DispatcherSounds dispatcherSoundId); void PlayDispatcher(DispatcherSounds dispatcherSoundId);
} }
} }
@@ -0,0 +1,14 @@
using Code.Gameplay.Camera;
using UnityEngine;
namespace Code.Configs
{
[CreateAssetMenu(fileName = "CameraSettingsConfig", menuName = "Config/CameraSettingsConfig")]
public class CameraSettingsConfig : ScriptableObject
{
// Дополнять по мере необходимости
public float fov;
public CameraMode cameraMode;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6610b94e9823401c94533e1756a97195
timeCreated: 1763846744
@@ -10,9 +10,9 @@ namespace Code.Gameplay.Camera
*/ */
public enum CameraMode public enum CameraMode
{ {
Bogdan, None,
Static, Static,
UltraStatic, MainMenu,
FirstPerson, FirstPerson,
ThirdPerson, ThirdPerson,
Cinematic Cinematic
@@ -9,12 +9,13 @@ namespace Code.Gameplay.Camera
// Текущий режим работы камеры // Текущий режим работы камеры
public override void Initialize() public override void Initialize()
{ {
States.Add(CameraMode.None, new NoneState(StateMachineContext));
States.Add(CameraMode.Static, new StaticState(StateMachineContext)); States.Add(CameraMode.Static, new StaticState(StateMachineContext));
States.Add(CameraMode.UltraStatic, new UltraStaticState(StateMachineContext)); States.Add(CameraMode.MainMenu, new MainMenuState(StateMachineContext));
States.Add(CameraMode.FirstPerson, new FirstPersonState(StateMachineContext)); States.Add(CameraMode.FirstPerson, new FirstPersonState(StateMachineContext));
States.Add(CameraMode.ThirdPerson, new ThirdPersonState(StateMachineContext)); States.Add(CameraMode.ThirdPerson, new ThirdPersonState(StateMachineContext));
CurrentBaseState = States[CameraMode.UltraStatic]; CurrentBaseState = States[CameraMode.None];
} }
public UnityEngine.Camera Camera => StateMachineContext.Camera; public UnityEngine.Camera Camera => StateMachineContext.Camera;
@@ -1,3 +1,4 @@
using System.Collections.Generic;
using Code.Configs; using Code.Configs;
using Code.Input; using Code.Input;
using Reflex.Attributes; using Reflex.Attributes;
@@ -9,5 +10,6 @@ namespace Code.Gameplay.Camera
[Inject] public UnityEngine.Camera Camera; [Inject] public UnityEngine.Camera Camera;
[Inject] public CameraConfig Config; [Inject] public CameraConfig Config;
[Inject] public IInputService InputService; [Inject] public IInputService InputService;
[Inject] public Dictionary<CameraMode,CameraSettingsConfig> CameraSettingsConfigs;
} }
} }
@@ -14,6 +14,8 @@ namespace Code.Gameplay.Camera.CameraStates
public override void EnterState() public override void EnterState()
{ {
base.EnterState();
// В FirstPerson режиме дистанция всегда равна 0 // В FirstPerson режиме дистанция всегда равна 0
MinDistance = 0f; MinDistance = 0f;
MaxDistance = 0f; MaxDistance = 0f;
@@ -21,7 +23,7 @@ namespace Code.Gameplay.Camera.CameraStates
TargetDistance = 0f; TargetDistance = 0f;
CurrentDistance = 0f; CurrentDistance = 0f;
base.EnterState(); Camera.fieldOfView = Context.CameraSettingsConfigs[CameraMode.FirstPerson].fov;
} }
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation) protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
@@ -2,14 +2,15 @@ using UnityEngine;
namespace Code.Gameplay.Camera.CameraStates namespace Code.Gameplay.Camera.CameraStates
{ {
public class UltraStaticState : BaseCameraState, ICameraState public class MainMenuState : BaseCameraState, ICameraState
{ {
public UltraStaticState(CameraStateMachineContext context) : base(context) { } public MainMenuState(CameraStateMachineContext context) : base(context) { }
public override void EnterState() public override void EnterState()
{ {
Debug.Log("Ultra static State Enter");
base.EnterState(); base.EnterState();
Camera.fieldOfView = Context.CameraSettingsConfigs[CameraMode.MainMenu].fov;
} }
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation) protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
@@ -17,7 +18,7 @@ namespace Code.Gameplay.Camera.CameraStates
Camera.transform.position = FollowTransform.position; Camera.transform.position = FollowTransform.position;
} }
public CameraMode GetCameraMode() => CameraMode.UltraStatic; public CameraMode GetCameraMode() => CameraMode.MainMenu;
protected override void HandleRotationInput(float deltaTime, Vector3 rotationInput, protected override void HandleRotationInput(float deltaTime, Vector3 rotationInput,
out Quaternion targetRotation) out Quaternion targetRotation)
@@ -0,0 +1,21 @@
using UnityEngine;
namespace Code.Gameplay.Camera.CameraStates
{
public class NoneState : BaseCameraState, ICameraState
{
public NoneState(CameraStateMachineContext context) : base(context) { }
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
{
}
public CameraMode GetCameraMode() => CameraMode.None;
protected override void HandleRotationInput(float deltaTime, Vector3 rotationInput,
out Quaternion targetRotation)
{
targetRotation = Quaternion.identity;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d8fa6119113f4f12a35365fd27387124
timeCreated: 1763847889
@@ -9,8 +9,9 @@ namespace Code.Gameplay.Camera.CameraStates
public override void EnterState() public override void EnterState()
{ {
Debug.Log("Static State Enter");
base.EnterState(); base.EnterState();
Camera.fieldOfView = Context.CameraSettingsConfigs[CameraMode.Static].fov;
} }
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation) protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
@@ -14,13 +14,13 @@ namespace Code.Gameplay.Camera.CameraStates
public override void EnterState() public override void EnterState()
{ {
base.EnterState();
// Восстанавливаем исходные значения дистанции // Восстанавливаем исходные значения дистанции
MinDistance = OriginalMinDistance; MinDistance = OriginalMinDistance;
MaxDistance = OriginalMaxDistance; MaxDistance = OriginalMaxDistance;
DefaultDistance = OriginalDefaultDistance; DefaultDistance = OriginalDefaultDistance;
TargetDistance = DefaultDistance; TargetDistance = DefaultDistance;
base.EnterState();
} }
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation) protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
@@ -180,7 +180,6 @@ namespace Code.Gameplay.Character.Controller
// Заготовка на будущее (если понадобится) // Заготовка на будущее (если понадобится)
case CameraMode.Static: case CameraMode.Static:
case CameraMode.Cinematic: case CameraMode.Cinematic:
case CameraMode.Bogdan: // Скорее всего юзлес, но пускай будет
default: default:
break; break;
} }
@@ -2,19 +2,24 @@ namespace Code.Gameplay.Orders.Order
{ {
public interface IOrderService public interface IOrderService
{ {
delegate void OrderFailureDelegate();
delegate void OrderProgressDelegate(float time); delegate void OrderProgressDelegate(float time);
event OrderProgressDelegate OnOrderGiven; event OrderProgressDelegate OnOrderGiven;
event OrderProgressDelegate OnOrderRecieved; event OrderProgressDelegate OnOrderRecieved;
event OrderFailureDelegate OnOrderFailure;
delegate void OrderDeliveredDelegate(int score, float time); delegate void OrderDeliveredDelegate(int score, float time);
event OrderDeliveredDelegate OnOrderDelivered; event OrderDeliveredDelegate OnOrderDelivered;
OrderState OrderState { get; } OrderState OrderState { get; }
float DeliveryTimer { get; }
void RoomPassed(); void RoomPassed();
float DecreaseTimer(float delta); void DecreaseTimer(float delta);
void OrderGive(); void OrderGive();
void OrderRecieved(); void OrderRecieved();
void OrderDelivered(); void OrderDelivered();
void OrderFailed();
} }
} }
@@ -11,7 +11,7 @@ namespace Code.Gameplay.Orders.Order
{ {
[Inject] private IOrderService _orderService; [Inject] private IOrderService _orderService;
public Rigidbody rigidbody; public Rigidbody rigidbody;
[SerializeField] private bool _pickupMode; private bool _pickupMode;
// [SerializeField] private AnimationCurve debugCurve; // [SerializeField] private AnimationCurve debugCurve;
//DEBUG //DEBUG
@@ -41,9 +41,7 @@ namespace Code.Gameplay.Orders.Order
public async UniTaskVoid SwitchMode() public async UniTaskVoid SwitchMode()
{ {
Debug.LogWarning("Activating");
await UniTask.WaitForSeconds(_activationTime); await UniTask.WaitForSeconds(_activationTime);
Debug.LogWarning("Available");
_pickupMode = true; _pickupMode = true;
rigidbody.isKinematic = true; rigidbody.isKinematic = true;
_capturedPosition = transform.position; _capturedPosition = transform.position;
@@ -62,7 +60,6 @@ namespace Code.Gameplay.Orders.Order
if (_timeForMoving > _curveLength) _timeForMoving = 0; if (_timeForMoving > _curveLength) _timeForMoving = 0;
transform.position = _capturedPosition + new Vector3(0, _floatingCurve.Evaluate(_timeForMoving), 0); transform.position = _capturedPosition + new Vector3(0, _floatingCurve.Evaluate(_timeForMoving), 0);
Debug.Log(transform.position);
} }
} }
} }
@@ -1,6 +1,6 @@
using Code.Audio;
using Code.Configs; using Code.Configs;
using UnityEngine; using UnityEngine;
using Random = UnityEngine.Random;
namespace Code.Gameplay.Orders.Order namespace Code.Gameplay.Orders.Order
{ {
@@ -9,11 +9,13 @@ namespace Code.Gameplay.Orders.Order
public event IOrderService.OrderProgressDelegate OnOrderGiven; public event IOrderService.OrderProgressDelegate OnOrderGiven;
public event IOrderService.OrderProgressDelegate OnOrderRecieved; public event IOrderService.OrderProgressDelegate OnOrderRecieved;
public event IOrderService.OrderDeliveredDelegate OnOrderDelivered; public event IOrderService.OrderDeliveredDelegate OnOrderDelivered;
public event IOrderService.OrderFailureDelegate OnOrderFailure;
private OrderState _orderState; private OrderState _orderState;
public OrderState OrderState => _orderState; public OrderState OrderState => _orderState;
private float _deliveryTimer = 0.0f; private float _deliveryTimer;
public float DeliveryTimer => _deliveryTimer;
private Vector2 _timeBounds; private Vector2 _timeBounds;
private float _koefRooms, _koefOvertime; private float _koefRooms, _koefOvertime;
@@ -30,10 +32,7 @@ namespace Code.Gameplay.Orders.Order
} }
public void RoomPassed() => _roomsPassed++; public void RoomPassed() => _roomsPassed++;
public float DecreaseTimer(float delta) public void DecreaseTimer(float delta) => _deliveryTimer -= delta;
{
return _deliveryTimer -= delta;
}
public void OrderGive() public void OrderGive()
{ {
@@ -49,9 +48,16 @@ namespace Code.Gameplay.Orders.Order
_orderState = OrderState.Recieved; _orderState = OrderState.Recieved;
OnOrderRecieved?.Invoke(_deliveryTimer); OnOrderRecieved?.Invoke(_deliveryTimer);
} }
public void OrderFailed() => OnOrderFailure?.Invoke();
public void OrderDelivered() public void OrderDelivered()
{ {
if (_orderState != OrderState.Recieved)
{
OnOrderFailure?.Invoke();
return;
}
_orderState = OrderState.Delivered; _orderState = OrderState.Delivered;
int score = (int)(_koefRooms * _roomsPassed + _deliveryTimer * _koefOvertime); int score = (int)(_koefRooms * _roomsPassed + _deliveryTimer * _koefOvertime);
@@ -28,5 +28,11 @@ namespace Code.Gameplay.Player
_healthPoints = maxHealthPoints; _healthPoints = maxHealthPoints;
MaxHealthPoints = maxHealthPoints; MaxHealthPoints = maxHealthPoints;
} }
public void InstaKill()
{
_healthPoints = 0;
OnDeath?.Invoke();
}
} }
} }
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Code.Configs; using Code.Configs;
using Code.Gameplay.Camera;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using UnityEngine; using UnityEngine;
using UnityEngine.AddressableAssets; using UnityEngine.AddressableAssets;
@@ -23,6 +24,7 @@ namespace Code.StaticData
EnemiesSoundListConfig EnemiesSoundListConfig { get; } EnemiesSoundListConfig EnemiesSoundListConfig { get; }
OrderServiceConfig OrderServiceConfig { get; } OrderServiceConfig OrderServiceConfig { get; }
OrderBoxConfig OrderBoxConfig { get; } OrderBoxConfig OrderBoxConfig { get; }
Dictionary<CameraMode, CameraSettingsConfig> CameraSettingsConfigs { get; }
void Load(); void Load();
Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour; Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour;
} }
@@ -1,6 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Code.Configs; using Code.Configs;
using Code.Constants; using Code.Constants;
using Code.Gameplay.Camera;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using UnityEngine; using UnityEngine;
using UnityEngine.AddressableAssets; using UnityEngine.AddressableAssets;
@@ -23,17 +26,21 @@ namespace Code.StaticData
public OrderServiceConfig OrderServiceConfig { get; private set; } public OrderServiceConfig OrderServiceConfig { get; private set; }
public OrderBoxConfig OrderBoxConfig { get; private set; } public OrderBoxConfig OrderBoxConfig { get; private set; }
public Dictionary<CameraMode, CameraSettingsConfig> CameraSettingsConfigs { get; private set; } = new();
public void Load() public void Load()
{ {
InputConfig = Resources.Load<InputConfig>(string.Format(StringPaths.ConfigSingle, "App", "InputConfig")); InputConfig = Resources.Load<InputConfig>(string.Format(StringPaths.ConfigSingle, "App", "InputConfig"));
AppConfig = Resources.Load<AppConfig>(string.Format(StringPaths.ConfigSingle, "App", "AppConfig")); AppConfig = Resources.Load<AppConfig>(string.Format(StringPaths.ConfigSingle, "App", "AppConfig"));
CameraConfig = Resources.Load<CameraConfig>(string.Format(StringPaths.ConfigSingle, "App", "CameraConfig"));
CharacterConfig = Resources.Load<CharacterConfig>(string.Format(StringPaths.ConfigSingle, "App", "CharacterConfig")); CharacterConfig = Resources.Load<CharacterConfig>(string.Format(StringPaths.ConfigSingle, "App", "CharacterConfig"));
UIConfig = Resources.Load<UIConfig>(string.Format(StringPaths.ConfigSingle, "App", "UIConfig")); UIConfig = Resources.Load<UIConfig>(string.Format(StringPaths.ConfigSingle, "App", "UIConfig"));
PlayerConfig = Resources.Load<PlayerConfig>(string.Format(StringPaths.ConfigSingle, "App", "PlayerConfig")); PlayerConfig = Resources.Load<PlayerConfig>(string.Format(StringPaths.ConfigSingle, "App", "PlayerConfig"));
OrderServiceConfig = Resources.Load<OrderServiceConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderServiceConfig")); OrderServiceConfig = Resources.Load<OrderServiceConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderServiceConfig"));
OrderBoxConfig = Resources.Load<OrderBoxConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderBoxConfig")); OrderBoxConfig = Resources.Load<OrderBoxConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderBoxConfig"));
CameraConfig = Resources.Load<CameraConfig>(string.Format(StringPaths.ConfigSingle, "Camera", "CameraConfig"));
CameraSettingsConfigs = Resources.LoadAll<CameraSettingsConfig>(string.Format(StringPaths.ConfigMultiple, "Camera")).ToDictionary(x=> x.cameraMode);
LoadAudioConfigs(); LoadAudioConfigs();
} }
@@ -10,10 +10,12 @@ namespace Code.UI
public override void Hide() public override void Hide()
{ {
_background.enabled = false; _background.enabled = false;
base.Hide();
} }
public override void Show() public override void Show()
{ {
_background.enabled = true; _background.enabled = true;
base.Show();
} }
} }
} }
@@ -1,3 +1,4 @@
using Code.Gameplay.Orders.Order;
using Code.Gameplay.Player; using Code.Gameplay.Player;
using DG.Tweening; using DG.Tweening;
using TMPro; using TMPro;
@@ -15,7 +16,11 @@ namespace Code.UI.Panels
[SerializeField] private float dispatcherTransitionTime = 0.5f; [SerializeField] private float dispatcherTransitionTime = 0.5f;
[Header("Timer")] [Header("Timer")]
[SerializeField] private TMP_Text timer; [SerializeField] private TMP_Text timer;
[SerializeField] private Image timerBackGround;
public TMP_Text Timer => timer; public TMP_Text Timer => timer;
[SerializeField] private RectTransform timerHiddenPosition;
[SerializeField] private RectTransform timerShownPosition;
[SerializeField] private float timerTransitionTime = 0.5f;
[Header("HealthBar")] [Header("HealthBar")]
[SerializeField] private Image healthBar; [SerializeField] private Image healthBar;
[Header("MoneyBar")] [Header("MoneyBar")]
@@ -32,7 +37,9 @@ namespace Code.UI.Panels
float fillAmount = (float)health.HealthPoints / health.MaxHealthPoints; float fillAmount = (float)health.HealthPoints / health.MaxHealthPoints;
healthBar.fillAmount = fillAmount; healthBar.fillAmount = fillAmount;
} }
public void Initialize(PlayerMoney money, PlayerHealth health) private IOrderService _orderService;
public void Initialize(PlayerMoney money, PlayerHealth health, IOrderService orderService)
{ {
money.OnMoneyGet += MoneyUpdate; money.OnMoneyGet += MoneyUpdate;
money.OnMoneyLoose += MoneyUpdate; money.OnMoneyLoose += MoneyUpdate;
@@ -40,22 +47,37 @@ namespace Code.UI.Panels
health.OnDamage += HealthUpdate; health.OnDamage += HealthUpdate;
HealthUpdate(0,health); HealthUpdate(0,health);
_orderService = orderService;
} }
private void Update()
{
if (_orderService != null) timer.text = ((int)_orderService.DeliveryTimer).ToString();
}
private int _dispatcherCalls;
public void SummonDispatcher() public void SummonDispatcher()
{ {
// TODO // TODO
dispatcher.transform.DOMoveX(dispatcherShownPosition.position.x, dispatcherTransitionTime); _dispatcherCalls++;
dispatcher.transform.DOMoveY(dispatcherShownPosition.position.y, dispatcherTransitionTime);
} }
public void CloseDispatcher() public void CloseDispatcher()
{ {
dispatcher.transform.DOMoveX(dispatcherHiddenPosition.position.x, dispatcherTransitionTime); _dispatcherCalls--;
if (_dispatcherCalls > 0) return;
dispatcher.transform.DOMoveY(dispatcherHiddenPosition.position.y, dispatcherTransitionTime);
// TODO // TODO
} }
public override void Hide() public void ShowTimer()
{ {
// TODO
timerBackGround.transform.DOMoveX(timerShownPosition.position.x, timerTransitionTime);
} }
public override void Show() public void HideTimer()
{ {
timerBackGround.transform.DOMoveX(timerHiddenPosition.position.x, timerTransitionTime);
// TODO
} }
} }
} }
@@ -11,12 +11,14 @@ namespace Code.UI.Panels
[SerializeField] private TMP_Text vyapWatermark; [SerializeField] private TMP_Text vyapWatermark;
public override void Hide() public override void Hide()
{ {
Shown = false;
background.enabled = false; background.enabled = false;
loadingTitle.enabled = false; loadingTitle.enabled = false;
vyapWatermark.enabled = false; vyapWatermark.enabled = false;
} }
public override void Show() public override void Show()
{ {
Shown = true;
background.enabled = true; background.enabled = true;
loadingTitle.enabled = true; loadingTitle.enabled = true;
vyapWatermark.enabled = true; vyapWatermark.enabled = true;
@@ -39,14 +39,6 @@ namespace Code.UI.Panels
_cinematicDoorOpening = new(mainMenuUIVariables.MainMenuDoor, mainMenuUIVariables.DoorLight); _cinematicDoorOpening = new(mainMenuUIVariables.MainMenuDoor, mainMenuUIVariables.DoorLight);
} }
public override void Show()
{
}
public override void Hide()
{
}
private void OpenStart() => _cinematicDoorOpening.PreOpen(0); private void OpenStart() => _cinematicDoorOpening.PreOpen(0);
private void OpenSettings() => _cinematicDoorOpening.PreOpen(1); private void OpenSettings() => _cinematicDoorOpening.PreOpen(1);
+3 -2
View File
@@ -4,7 +4,8 @@ namespace Code.UI
{ {
public abstract class UIElement : MonoBehaviour public abstract class UIElement : MonoBehaviour
{ {
public abstract void Show(); public bool Shown { get; protected set; }
public abstract void Hide(); public virtual void Show() => Shown = true;
public virtual void Hide() => Shown = false;
} }
} }
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b2c1c1c5a8388644d8c7c19ed905fea9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6610b94e9823401c94533e1756a97195, type: 3}
m_Name: FirstPerson
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CameraSettingsConfig
fov: 60
cameraMode: 3
@@ -1,8 +1,8 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 6b0a1027f4f935049a5dbb09961fb05b guid: ef5c54378f76a9f4494ff3d9bc6e1bf0
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 2100000 mainObjectFileID: 11400000
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6610b94e9823401c94533e1756a97195, type: 3}
m_Name: MainMenu
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CameraSettingsConfig
fov: 35.4
cameraMode: 2
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b4331dbccd27d3545b29ac1ad2bd4dcc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6610b94e9823401c94533e1756a97195, type: 3}
m_Name: Static
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CameraSettingsConfig
fov: 60
cameraMode: 1
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d430ac29855b3c8459d44556d86c9405
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,41 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TestOverlay
m_Shader: {fileID: 4800000, guid: 7021a6e4577c68847b6368959075cb5a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
@@ -1,92 +0,0 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "UI/Default_OverlayNoZTest"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
}
SubShader
{
Tags
{
"Queue"="Overlay"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
Cull Off
Lighting Off
ZWrite Off
ZTest Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask [_ColorMask]
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
half2 texcoord : TEXCOORD0;
};
fixed4 _Color;
v2f vert(appdata_t IN)
{
v2f OUT;
OUT.vertex = UnityObjectToClipPos(IN.vertex);
OUT.texcoord = IN.texcoord;
#ifdef UNITY_HALF_TEXEL_OFFSET
OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1);
#endif
OUT.color = IN.color * _Color;
return OUT;
}
sampler2D _MainTex;
fixed4 frag(v2f IN) : SV_Target
{
half4 color = tex2D(_MainTex, IN.texcoord) * IN.color;
clip (color.a - 0.01);
return color;
}
ENDCG
}
}
}
@@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 7021a6e4577c68847b6368959075cb5a
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
@@ -159,9 +159,9 @@ Texture2D:
Hash: 00000000000000000000000000000000 Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0 m_IsAlphaChannelOptional: 0
serializedVersion: 4 serializedVersion: 4
m_Width: 1 m_Width: 1024
m_Height: 1 m_Height: 1024
m_CompleteImageSize: 1 m_CompleteImageSize: 1048576
m_MipsStripped: 0 m_MipsStripped: 0
m_TextureFormat: 1 m_TextureFormat: 1
m_MipCount: 1 m_MipCount: 1
@@ -186,8 +186,8 @@ Texture2D:
m_LightmapFormat: 0 m_LightmapFormat: 0
m_ColorSpace: 1 m_ColorSpace: 1
m_PlatformBlob: m_PlatformBlob:
image data: 1 image data: 1048576
_typelessdata: 00 _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0e0e0e0e0e0e0e0e0807050200000306070e0e0e0e0e0e0e0e0c0c0a0602000407090a0e0e0e0e0e0e0e0e090806030000000000000000000000050a0f121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0905000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a08050000000000000000000000000000000000000000000005080a0b0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0908060300000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a080500000000000000000000000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a08050000000000000000000000000000000000000000000001040607090909090909090909090909090909090909090909090909090909090909090909090909070300000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a080500000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a080500000000000000000000000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a08050000000000000000000000000000000000000000000005080a0b0e0e0e0e0e0e0e0e08070502000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e090806030000000000000000000000000005080a0b0e0e0e0e0e0e0e0e08070502000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e090806030000000000000000000000000005080a0b0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0908060300000000000000000000000000000000000000000002060a0c0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000000000306070e0e0e0e0e0e0e0e0c0c0a060200000000000000000000000000000000000000000000000000000000000005080a0b0e0e0e0e0e0e0e0e08070502000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e09080603000000000000000000000000000000000000000000000000000000000000060c111517181b1b1b1b1b1b1b1b1514120e090c1012131b1b1b1b1b1b1b1b191816120d0b101416171b1b1b1b1b1b1b1b1615130f0a0400000000000000010910161b1e20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1915100a030000000000000000000000000000000000070d121619191b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000000000000000000000060c111517181b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a04000000000000000000000000000000000000070d121619191b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000000000000000000000000000000000000000070d121619191b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c0500000000000000000000000000000000000001070d111314161616161616161616161616161616161616161616161616161616161616161616161615130f0a04Line truncated
m_StreamData: m_StreamData:
serializedVersion: 2 serializedVersion: 2
offset: 0 offset: 0
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 93e7494bdfc7cc84a9ef8b8fd66a6c9f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 3023, y: 1528, z: 96, w: 379}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: ba66fd0cf3dffd94c851a6685575e4e4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 62fa5be467b88664195c92750ed48d6b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 9feab892230779d4295640c5f463d274
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: fd487030f3edb6e429d6850e098e60b7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,40 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1 &579930572186893961
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8955916686469838470}
m_Layer: 5
m_Name: TimerHiddenPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8955916686469838470
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 579930572186893961}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7726542507327209555}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 320, y: 0}
m_SizeDelta: {x: 320, y: 108}
m_Pivot: {x: 1, y: 1}
--- !u!1 &923227457470290794 --- !u!1 &923227457470290794
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -170,12 +205,13 @@ RectTransform:
- {fileID: 1659765150583196593} - {fileID: 1659765150583196593}
- {fileID: 6343391148997029261} - {fileID: 6343391148997029261}
- {fileID: 6968658847081655530} - {fileID: 6968658847081655530}
- {fileID: 2167089471306213091}
- {fileID: 7653749271591667436} - {fileID: 7653749271591667436}
- {fileID: 6167256713020421818} - {fileID: 6167256713020421818}
- {fileID: 1957525100920530005} - {fileID: 1957525100920530005}
- {fileID: 32345874377601001} - {fileID: 32345874377601001}
- {fileID: 6795752971079078466} - {fileID: 6795752971079078466}
- {fileID: 1823960905184825859}
- {fileID: 8955916686469838470}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -236,9 +272,49 @@ MonoBehaviour:
dispatcher: {fileID: 3222823750140455214} dispatcher: {fileID: 3222823750140455214}
dispatcherHiddenPosition: {fileID: 6795752971079078466} dispatcherHiddenPosition: {fileID: 6795752971079078466}
dispatcherShownPosition: {fileID: 32345874377601001} dispatcherShownPosition: {fileID: 32345874377601001}
dispatcherTransitionTime: 0.5
timer: {fileID: 1501140738844702411} timer: {fileID: 1501140738844702411}
timerBackGround: {fileID: 2889578667763349430}
timerHiddenPosition: {fileID: 8955916686469838470}
timerShownPosition: {fileID: 1823960905184825859}
timerTransitionTime: 0.5
healthBar: {fileID: 2665776386830848828} healthBar: {fileID: 2665776386830848828}
moneyText: {fileID: 6387758596913220167} moneyText: {fileID: 6387758596913220167}
--- !u!1 &1590444497356833627
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1823960905184825859}
m_Layer: 5
m_Name: TimerShownPos
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1823960905184825859
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1590444497356833627}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7726542507327209555}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 320, y: 108}
m_Pivot: {x: 1, y: 1}
--- !u!1 &1919154497512289354 --- !u!1 &1919154497512289354
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -264,18 +340,18 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1919154497512289354} m_GameObject: {fileID: 1919154497512289354}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 7726542507327209555} m_Father: {fileID: 6343391148997029261}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0.000061035156, y: 0}
m_SizeDelta: {x: 319.71, y: 107.84} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 1, y: 1} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9096664839021089168 --- !u!222 &9096664839021089168
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -304,7 +380,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_text: 14:88 m_text: 37529
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2} m_fontAsset: {fileID: 11400000, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2}
m_sharedMaterial: {fileID: 8532510215145708138, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2} m_sharedMaterial: {fileID: 8532510215145708138, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2}
@@ -313,8 +389,8 @@ MonoBehaviour:
m_fontMaterials: [] m_fontMaterials: []
m_fontColor32: m_fontColor32:
serializedVersion: 2 serializedVersion: 2
rgba: 4289396663 rgba: 4279304447
m_fontColor: {r: 0.7170632, g: 1, b: 0.6650944, a: 1} m_fontColor: {r: 1, g: 0, b: 0.06844187, a: 1}
m_enableVertexGradient: 0 m_enableVertexGradient: 0
m_colorMode: 3 m_colorMode: 3
m_fontColorGradient: m_fontColorGradient:
@@ -331,12 +407,12 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 105.6 m_fontSize: 89.9
m_fontSizeBase: 105.6 m_fontSizeBase: 98.18
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 1
m_fontSizeMin: 18 m_fontSizeMin: 0.1
m_fontSizeMax: 72 m_fontSizeMax: 89.9
m_fontStyle: 0 m_fontStyle: 0
m_HorizontalAlignment: 2 m_HorizontalAlignment: 2
m_VerticalAlignment: 512 m_VerticalAlignment: 512
@@ -409,7 +485,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -291.77002, y: -0.2211914} m_AnchoredPosition: {x: 0, y: -414.47}
m_SizeDelta: {x: 291.7762, y: 414.4654} m_SizeDelta: {x: 291.7762, y: 414.4654}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!222 &5289021947733735622 --- !u!222 &5289021947733735622
@@ -440,7 +516,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: c0eecf76056b8684aaec6e28c5cc7f71, type: 3} m_Sprite: {fileID: 21300000, guid: 62fa5be467b88664195c92750ed48d6b, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@@ -479,12 +555,13 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children:
- {fileID: 2167089471306213091}
m_Father: {fileID: 7726542507327209555} m_Father: {fileID: 7726542507327209555}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 319.70996, y: -0.15795898}
m_SizeDelta: {x: 319.7096, y: 107.842} m_SizeDelta: {x: 319.7096, y: 107.842}
m_Pivot: {x: 1, y: 1} m_Pivot: {x: 1, y: 1}
--- !u!222 &84950586336650232 --- !u!222 &84950586336650232
@@ -508,14 +585,14 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 0.10412958, g: 0.33962262, b: 0.19163781, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 0} m_Sprite: {fileID: 21300000, guid: ba66fd0cf3dffd94c851a6685575e4e4, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@@ -558,7 +635,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 292.8138, y: 376.4877} m_SizeDelta: {x: 292.8138, y: 414.47}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!1 &5833094031968477740 --- !u!1 &5833094031968477740
GameObject: GameObject:
@@ -594,8 +671,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -2, y: -107} m_AnchoredPosition: {x: 0, y: -107}
m_SizeDelta: {x: 269.7093, y: 80.867} m_SizeDelta: {x: 319.71, y: 95.612}
m_Pivot: {x: 1, y: 1} m_Pivot: {x: 1, y: 1}
--- !u!222 &1088048040329591264 --- !u!222 &1088048040329591264
CanvasRenderer: CanvasRenderer:
@@ -625,7 +702,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_text: $1488 m_text: 37529
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2} m_fontAsset: {fileID: 11400000, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2}
m_sharedMaterial: {fileID: 8532510215145708138, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2} m_sharedMaterial: {fileID: 8532510215145708138, guid: a3ba170dcd95c5776a5c39de19dff119, type: 2}
@@ -634,8 +711,8 @@ MonoBehaviour:
m_fontMaterials: [] m_fontMaterials: []
m_fontColor32: m_fontColor32:
serializedVersion: 2 serializedVersion: 2
rgba: 4287554233 rgba: 4294967295
m_fontColor: {r: 0.72741336, g: 0.8867924, b: 0.55633676, a: 1} m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0 m_enableVertexGradient: 0
m_colorMode: 3 m_colorMode: 3
m_fontColorGradient: m_fontColorGradient:
@@ -652,14 +729,14 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 71 m_fontSize: 78.4
m_fontSizeBase: 71 m_fontSizeBase: 71
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 1
m_fontSizeMin: 18 m_fontSizeMin: 18
m_fontSizeMax: 72 m_fontSizeMax: 78.4
m_fontStyle: 0 m_fontStyle: 0
m_HorizontalAlignment: 4 m_HorizontalAlignment: 2
m_VerticalAlignment: 512 m_VerticalAlignment: 512
m_textAlignment: 65535 m_textAlignment: 65535
m_characterSpacing: 0 m_characterSpacing: 0
@@ -730,7 +807,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0.006225586, y: 0}
m_SizeDelta: {x: 494.098, y: 102.7266} m_SizeDelta: {x: 494.098, y: 102.7266}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!222 &1154202756743218800 --- !u!222 &1154202756743218800
@@ -761,7 +838,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: 30cfa4a75f503466aa23d5595b9a70e3, type: 3} m_Sprite: {fileID: 21300000, guid: fd487030f3edb6e429d6850e098e60b7, type: 3}
m_Type: 3 m_Type: 3
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
@@ -803,8 +880,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -292.81, y: -0.2211914} m_AnchoredPosition: {x: 0.006225586, y: -414.46997}
m_SizeDelta: {x: 292.8138, y: 376.4877} m_SizeDelta: {x: 292.8138, y: 414.47}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!1 &8131263304471321626 --- !u!1 &8131263304471321626
GameObject: GameObject:
@@ -840,8 +917,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -2, y: -107.004395} m_AnchoredPosition: {x: 0, y: -107.84}
m_SizeDelta: {x: 269.71, y: 80.867} m_SizeDelta: {x: 319.71, y: 115.6301}
m_Pivot: {x: 1, y: 1} m_Pivot: {x: 1, y: 1}
--- !u!222 &8440000272582601589 --- !u!222 &8440000272582601589
CanvasRenderer: CanvasRenderer:
@@ -864,14 +941,14 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 0.0242969, g: 0.24528301, b: 0.10532512, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1 m_Maskable: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 0} m_Sprite: {fileID: 21300000, guid: 93e7494bdfc7cc84a9ef8b8fd66a6c9f, type: 3}
m_Type: 0 m_Type: 0
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1