Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e654a0daf4 | ||
|
|
cfe5b39cc9 | ||
|
|
c14880457d | ||
|
|
344470978d | ||
|
|
dab970737a | ||
|
|
afdd523682 | ||
|
|
575e66425a | ||
|
|
c470f63409 | ||
|
|
7024e1daf0 | ||
|
|
020934e07f |
No files matched your search
@@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
m_DefaultGroup: d447fc60305c17a17bf20948ab295a45
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: db97f0adbdaa5d76ea9341571ea44391
|
||||
Hash: adba03da8c5086ecbcf5b8db72996dd1
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 0
|
||||
m_CatalogRequestsTimeout: 0
|
||||
|
||||
+15
-10
@@ -30,11 +30,6 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 1d4767c722c05b5d6b96bb226d378c65
|
||||
m_Address: Assets/Resources_moved/Prefabs/Player/ArmsMesh.prefab
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 1d7110a045075b22fa27d62bd5f2784e
|
||||
m_Address: 357_shot1
|
||||
m_ReadOnly: 0
|
||||
@@ -65,6 +60,11 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2ed2d93a9f39d4edba511cb7396c7bb6
|
||||
m_Address: Prefabs/Enemies/Cockroach
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2f6134357dc2a5641a846a7478ce4c2c
|
||||
m_Address: bravo!
|
||||
m_ReadOnly: 0
|
||||
@@ -95,11 +95,6 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 751890caa1647ec6689f24933fbcb770
|
||||
m_Address: "Prefabs/Furniture/\u0442\u0440\u0443\u0431\u0430"
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7c5caf3ceee44f71588860c5c1fbdbe0
|
||||
m_Address: Audio/Dispatcher/take_damage3
|
||||
m_ReadOnly: 0
|
||||
@@ -150,6 +145,11 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: b33855c694de89386a25c56cbe463a0e
|
||||
m_Address: Prefabs/Enemies/DrunkenGrandpa
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: c566fc932edefbbee9e53271eac3c560
|
||||
m_Address: MainMenu
|
||||
m_ReadOnly: 0
|
||||
@@ -170,6 +170,11 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f3d7dc64b34919ad7b50a3dd307a935b
|
||||
m_Address: Prefabs/Enemies/Fog
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f4b6fa54ecac6cc418f98824491aa17a
|
||||
m_Address: Audio/Music/SANABI - JUSTICE Is Watching You
|
||||
m_ReadOnly: 0
|
||||
|
||||
@@ -1,23 +1,16 @@
|
||||
using System.Globalization;
|
||||
using System.Reflection.Emit;
|
||||
using Code.App.StateMachine;
|
||||
using Code.Audio;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Camera.CameraStates;
|
||||
using Code.Gameplay.Character.Core;
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Code.StateMachine;
|
||||
using Code.UI;
|
||||
using Code.UI.Panels;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Reflex.Core;
|
||||
using Reflex.Extensions;
|
||||
using Reflex.Injectors;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.SceneManagement;
|
||||
@@ -25,13 +18,13 @@ using UnityEngine.SceneManagement;
|
||||
namespace Code.App.AppStates
|
||||
{
|
||||
public class GameplayState : BaseState<AppStateMachineContext>
|
||||
{
|
||||
{
|
||||
// DEBUG
|
||||
private Transform _testSFXTransform;
|
||||
// DEBUG
|
||||
|
||||
private PlayerHealth _playerHealth;
|
||||
private PlayerMoney _playerMoney;
|
||||
|
||||
private IScoreService _scoreService;
|
||||
private IOrderService _orderService;
|
||||
|
||||
private CharacterProvider _playerCharacter;
|
||||
|
||||
@@ -44,109 +37,98 @@ namespace Code.App.AppStates
|
||||
Context.UIService.LoadingScreen.Show();
|
||||
|
||||
_playerMoney = Context.PlayerFactory.CreatePlayerMoney();
|
||||
_playerHealth = Context.PlayerFactory.CreatePlayerHealth();
|
||||
|
||||
_playerHealth.OnDeath += EndGame;
|
||||
|
||||
//_playerHealth = Context.PlayerProvider.Health;
|
||||
//_playerHealth.OnDeath += EndGame;
|
||||
|
||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveOrderDEBUG);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, RecieveOrderDEBUG);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, DeliverOrderDEBUG);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, RoomPassedDEBUG);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, Tube);
|
||||
// Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug6, PlayDebugDispatcher);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveMoney);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug6, PlayDebugDispatcher);
|
||||
|
||||
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
WaitForSceneToLoad();
|
||||
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
}
|
||||
|
||||
private async UniTask WaitForPlayerCharacterLoad() => _playerCharacter = await Context.PlayerFactory.CreatePlayer();
|
||||
|
||||
private async UniTaskVoid WaitForSceneToLoad()
|
||||
{
|
||||
await Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.Gameplay);
|
||||
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.Gameplay),
|
||||
Context.UIService.AsyncSwitchPanelTo(UIPanel.Gameplay),
|
||||
// TODO
|
||||
Context.AudioFactory.WarmGameplayMusic(),
|
||||
Context.AudioFactory.WarmSFX(),
|
||||
Context.AudioFactory.WarmDispatcher(),
|
||||
// TODO
|
||||
WaitForPlayerArmsToInitialize(),
|
||||
WaitForPlayerCharacterLoad()
|
||||
);
|
||||
MusicInitialize();
|
||||
);
|
||||
|
||||
Container sceneContainer = SceneManager.GetActiveScene().GetSceneContainer();
|
||||
_playerHealth = Context.PlayerProvider.Health;
|
||||
_playerHealth.OnDeath += EndGame;
|
||||
|
||||
GameplaySceneEnvironment sceneEnvironment = SceneEnvironmentVariables(sceneContainer);
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Peaceful);
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Action);
|
||||
|
||||
var sceneEnvironment = ((GameplaySceneEnvironment)SceneManager.GetActiveScene()
|
||||
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||
|
||||
PlayerInitialize(sceneEnvironment);
|
||||
_testSFXTransform = sceneEnvironment.debugSfxTarget;
|
||||
|
||||
UIInitialize();
|
||||
_playerCharacter.Teleport(sceneEnvironment.playerSpawnPoint.position, sceneEnvironment.playerSpawnPoint.rotation);
|
||||
|
||||
CameraInitialize();
|
||||
|
||||
InputServiceInitialize();
|
||||
|
||||
GameplayServicesInitialize(sceneContainer);
|
||||
((GameplayPanel)Context.UIService.CurrentPanel).Initialize(_playerMoney, _playerHealth);
|
||||
|
||||
_tickEnabled = true;
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||
|
||||
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(_playerCharacter.GetFollowTransform());
|
||||
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
|
||||
Context.UIService.LoadingScreen.Hide();
|
||||
}
|
||||
|
||||
private async UniTask WaitForPlayerArmsToInitialize() => _armsMesh = await Context.PlayerFactory.CreateArms(Context.CameraStateMachine.Camera.transform);
|
||||
|
||||
private void OrderGiven(float time)
|
||||
{
|
||||
|
||||
}
|
||||
private void OrderRecieved(float time)
|
||||
private void OnCharacterSpawn(CharacterProvider characterProvider)
|
||||
{
|
||||
Context.AudioService.PlayDispatcher((DispatcherSounds)Random.Range((int)DispatcherSounds.Recieve1,(int)DispatcherSounds.Recieve2));
|
||||
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(_playerCharacter.GetFollowTransform());
|
||||
}
|
||||
private void OrderDelivered(int score, float time)
|
||||
{
|
||||
if(time < 0f) Context.AudioService.PlayDispatcher((DispatcherSounds)Random.Range((int)DispatcherSounds.Late1,(int)DispatcherSounds.Late2));
|
||||
_playerMoney.GiveMoney(score);
|
||||
private void PlayDebugSFX(InputAction.CallbackContext context)
|
||||
{
|
||||
Context.AudioService.PlaySFX(SFXSounds.Crowbar, _testSFXTransform.position);
|
||||
}
|
||||
private void PlayDebugDispatcher(InputAction.CallbackContext context)
|
||||
{
|
||||
Context.AudioService.PlayDispatcher(DispatcherSounds.AhFreeman);
|
||||
}
|
||||
private void GiveHealth(InputAction.CallbackContext context)
|
||||
{
|
||||
_playerHealth.GetDamage(-1);
|
||||
}
|
||||
|
||||
private void LooseHealth(InputAction.CallbackContext context)
|
||||
{
|
||||
_playerHealth.GetDamage(1);
|
||||
}
|
||||
|
||||
private void GiveMoney(InputAction.CallbackContext context)
|
||||
{
|
||||
_playerMoney.GiveMoney(100);
|
||||
((GameplayPanel)(Context.UIService.CurrentPanel)).SummonDispatcher();
|
||||
}
|
||||
|
||||
private void LooseMoney(InputAction.CallbackContext context)
|
||||
{
|
||||
_playerMoney.LooseMoney(100);
|
||||
((GameplayPanel)(Context.UIService.CurrentPanel)).CloseDispatcher();
|
||||
}
|
||||
// DEBUG
|
||||
private void GiveOrderDEBUG(InputAction.CallbackContext context)
|
||||
{
|
||||
_orderService.OrderGive();
|
||||
}
|
||||
|
||||
private void RecieveOrderDEBUG(InputAction.CallbackContext context)
|
||||
{
|
||||
_orderService.OrderRecieved();
|
||||
}
|
||||
private void DeliverOrderDEBUG(InputAction.CallbackContext context)
|
||||
{
|
||||
_orderService.OrderDelivered();
|
||||
}
|
||||
private void RoomPassedDEBUG(InputAction.CallbackContext context)
|
||||
{
|
||||
_orderService.RoomPassed();
|
||||
}
|
||||
private OrderDispenser _debugTube;
|
||||
|
||||
private void Tube(InputAction.CallbackContext context)
|
||||
{
|
||||
_debugTube.ThrowOrder();
|
||||
}
|
||||
// DEBUG
|
||||
private bool _tickEnabled;
|
||||
public override void Tick()
|
||||
{
|
||||
if (!_tickEnabled) return;
|
||||
|
||||
// TODO ГРЯЗь
|
||||
_gameplayPanel.Timer.text = ((int)_orderService.DecreaseTimer(Time.deltaTime)).ToString(CultureInfo.CurrentCulture);
|
||||
}
|
||||
|
||||
private void EndGame()
|
||||
@@ -160,71 +142,21 @@ namespace Code.App.AppStates
|
||||
_playerHealth = null;
|
||||
_playerMoney = null;
|
||||
|
||||
_tickEnabled = false;
|
||||
|
||||
Context.PlayerFactory.ReleasePlayer(_playerCharacter);
|
||||
_playerCharacter = null;
|
||||
Context.PlayerFactory.ReleaseArms(_armsMesh);
|
||||
_armsMesh = null;
|
||||
|
||||
Context.InputService.DisableMap(ActionMappings.Gameplay);
|
||||
Context.AudioService.GladlyAskToStopMusic(MusicType.Action, callback: Context.AudioFactory.ReleaseActionMusic);
|
||||
Context.AudioService.GladlyAskToStopMusic(MusicType.Peaceful, callback: Context.AudioFactory.ReleasePeacefulMusic);
|
||||
|
||||
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveOrderDEBUG);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, RecieveOrderDEBUG);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, DeliverOrderDEBUG);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, RoomPassedDEBUG);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, Tube);
|
||||
// Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug6, PlayDebugDispatcher);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug6, PlayDebugDispatcher);
|
||||
|
||||
base.ExitState();
|
||||
}
|
||||
|
||||
private void InputServiceInitialize()
|
||||
{
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
}
|
||||
private void CameraInitialize()
|
||||
{
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(_playerCharacter.GetFollowTransform());
|
||||
}
|
||||
|
||||
private GameplayPanel _gameplayPanel;
|
||||
private ArmsMeshProvider _armsMesh;
|
||||
|
||||
private void UIInitialize()
|
||||
{
|
||||
_gameplayPanel = (GameplayPanel)Context.UIService.CurrentPanel;
|
||||
_gameplayPanel.Initialize(_playerMoney, _playerHealth);
|
||||
}
|
||||
private void MusicInitialize()
|
||||
{
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Peaceful);
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Action);
|
||||
}
|
||||
private void PlayerInitialize(GameplaySceneEnvironment sceneEnvironment)
|
||||
{
|
||||
_playerCharacter.Teleport(sceneEnvironment.playerSpawnPoint.position, sceneEnvironment.playerSpawnPoint.rotation);
|
||||
_playerCharacter.PlayerAnimator.SetAnimator(_armsMesh.ArmsAnimator);
|
||||
}
|
||||
private void GameplayServicesInitialize(Container sceneContainer)
|
||||
{
|
||||
_scoreService = sceneContainer.Resolve<IScoreService>();
|
||||
_orderService = sceneContainer.Resolve<IOrderService>();
|
||||
|
||||
_orderService.OnOrderGiven += OrderGiven;
|
||||
_orderService.OnOrderRecieved += OrderRecieved;
|
||||
_orderService.OnOrderDelivered += OrderDelivered;
|
||||
}
|
||||
private GameplaySceneEnvironment SceneEnvironmentVariables(Container sceneContainer)
|
||||
{
|
||||
var sceneEnvironment = (GameplaySceneEnvironment)sceneContainer.Resolve<CurrentSceneEnvironment>();
|
||||
|
||||
_debugTube = sceneEnvironment.debugTube;
|
||||
return sceneEnvironment;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ using Code.Audio;
|
||||
using Code.Configs;
|
||||
using Code.Constants;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
@@ -28,6 +27,7 @@ namespace Code.App
|
||||
|
||||
containerBuilder.AddSingleton(typeof(InputService), typeof(IInputService));
|
||||
containerBuilder.AddSingleton(typeof(PlayerFactory), typeof(IPlayerFactory));
|
||||
containerBuilder.AddSingleton(typeof(PlayerProvider), typeof(IPlayerProvider));
|
||||
|
||||
InitializeCamera(containerBuilder, staticDataService);
|
||||
containerBuilder.AddSingleton(typeof(UIFactory), typeof(IUIFactory));
|
||||
@@ -78,14 +78,15 @@ namespace Code.App
|
||||
|
||||
containerBuilder.AddSingleton(staticDataService.UIConfig, typeof(UIConfig));
|
||||
|
||||
containerBuilder.AddSingleton(staticDataService.DrunkenGrandpaConfig, typeof(DrunkenGrandpaConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.CockroachConfig, typeof(CockroachConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.FogConfig, typeof(FogConfig));
|
||||
|
||||
containerBuilder.AddSingleton(staticDataService.AudioMixerConfig, typeof(AudioMixerConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.SoundtrackListConfig, typeof(SoundtrackListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.SFXListConfig, typeof(SFXListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.DispatcherSoundListConfig, typeof(DispatcherSoundListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.EnemiesSoundListConfig, typeof(EnemiesSoundListConfig));
|
||||
|
||||
containerBuilder.AddSingleton(staticDataService.OrderServiceConfig, typeof(OrderServiceConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.OrderBoxConfig, typeof(OrderBoxConfig));
|
||||
}
|
||||
|
||||
private AppStateMachine _appStateMachine;
|
||||
@@ -102,6 +103,7 @@ namespace Code.App
|
||||
|
||||
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
BootstrapFinish(container);
|
||||
|
||||
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
}
|
||||
private async UniTaskVoid BootstrapFinish(Container container)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Reflex.Core;
|
||||
@@ -13,8 +12,6 @@ namespace Code.App.SceneInstallers
|
||||
public void InstallBindings(ContainerBuilder containerBuilder)
|
||||
{
|
||||
containerBuilder.AddScoped(typeof(GameplaySceneEnvironment), typeof(CurrentSceneEnvironment));
|
||||
containerBuilder.AddScoped(typeof(ScoreService), typeof(IScoreService));
|
||||
containerBuilder.AddScoped(typeof(OrderService), typeof(IOrderService));
|
||||
|
||||
containerBuilder.OnContainerBuilt += Initialize;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace Code.App.StateMachine
|
||||
[Inject] public CameraStateMachine CameraStateMachine { get; private set; }
|
||||
[Inject] public IUIService UIService { get; private set; }
|
||||
[Inject] public IPlayerFactory PlayerFactory { get; private set; }
|
||||
[Inject] public IPlayerProvider PlayerProvider { get; private set; }
|
||||
[Inject] public IAudioFactory AudioFactory { get; private set; }
|
||||
[Inject] public IAudioService AudioService { get; private set; }
|
||||
}
|
||||
|
||||
@@ -18,17 +18,6 @@ namespace Code.Audio
|
||||
{
|
||||
Absolutely,
|
||||
AbsolutelyNot,
|
||||
AhFreeman,
|
||||
Recieve1,
|
||||
Recieve2,
|
||||
TakeDamage1,
|
||||
TakeDamage2,
|
||||
TakeDamage3,
|
||||
TakeDamage4,
|
||||
Late1,
|
||||
Late2,
|
||||
Late3,
|
||||
Late4,
|
||||
Late5
|
||||
AhFreeman
|
||||
}
|
||||
}
|
||||
@@ -62,8 +62,8 @@ namespace Code.Audio
|
||||
|
||||
public async UniTask WarmGameplayMusic( )
|
||||
{
|
||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded, Addressables.MergeMode.Union);
|
||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded, Addressables.MergeMode.Union);
|
||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded, Addressables.MergeMode.None);
|
||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await UniTask.WhenAll(_actionMusicHandle.ToUniTask(), _peacefulMusicHandle.ToUniTask());
|
||||
}
|
||||
@@ -79,7 +79,7 @@ namespace Code.Audio
|
||||
}
|
||||
public async UniTask WarmMenuMusic( )
|
||||
{
|
||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.Union);
|
||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.None);
|
||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||
await _menuMusicHandle.ToUniTask();
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace Code.Audio
|
||||
}
|
||||
public async UniTask WarmSFX( )
|
||||
{
|
||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded, Addressables.MergeMode.Union);
|
||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _SFXHandle.ToUniTask();
|
||||
|
||||
@@ -104,7 +104,7 @@ namespace Code.Audio
|
||||
}
|
||||
public async UniTask WarmEnemies( )
|
||||
{
|
||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded, Addressables.MergeMode.Union);
|
||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _enemiesHandle.ToUniTask();
|
||||
|
||||
@@ -118,7 +118,7 @@ namespace Code.Audio
|
||||
|
||||
public async UniTask WarmDispatcher( )
|
||||
{
|
||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded, Addressables.MergeMode.Union);
|
||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _dispatcherHandle.ToUniTask();
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Enemies/Cockroach", fileName = "CockroachConfig")]
|
||||
public class CockroachConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference cockroachPrefab;
|
||||
|
||||
public int damage = 2;
|
||||
public float attackCooldown = 1.5f;
|
||||
|
||||
public float detectionRange = 20f;
|
||||
public float attackRange = 1.3f;
|
||||
|
||||
public float speed = 6f;
|
||||
|
||||
public bool isStunnable;
|
||||
public float stunDuration;
|
||||
|
||||
public bool usesIdleMovement = true;
|
||||
public float idleWanderRadius = 3f;
|
||||
public float idleMoveDurationMin = 0.3f;
|
||||
public float idleMoveDurationMax = 1f;
|
||||
public float idlePauseDurationMin = 0.1f;
|
||||
public float idlePauseDurationMax = 0.8f;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7bc162d3127949aa950d0738beee99a4
|
||||
timeCreated: 1763571220
|
||||
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Enemies/DrunkenGrandpa", fileName = "DrunkenGrandpaConfig")]
|
||||
public class DrunkenGrandpaConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference drunkenGrandpaPrefab;
|
||||
|
||||
public int damage = 2;
|
||||
public float attackCooldown = 5f;
|
||||
|
||||
public float detectionRange = 10f;
|
||||
public float attackRange = 1.5f;
|
||||
|
||||
public float speed = 3f;
|
||||
|
||||
public bool isStunnable = true;
|
||||
public float stunDuration = 3f;
|
||||
|
||||
public bool usesIdleMovement = true;
|
||||
public float idleWanderRadius = 5f;
|
||||
public float idleMoveDurationMin = 1f;
|
||||
public float idleMoveDurationMax = 5f;
|
||||
public float idlePauseDurationMin = 3f;
|
||||
public float idlePauseDurationMax = 5f;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4d157e8891074b90957a7434cff0ae71
|
||||
timeCreated: 1763569096
|
||||
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Enemies/Fog", fileName = "FogConfig")]
|
||||
public class FogConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference fogPrefab;
|
||||
|
||||
public int damage = int.MaxValue;
|
||||
public float attackCooldown;
|
||||
|
||||
public float detectionRange;
|
||||
public float attackRange = 5f;
|
||||
|
||||
public float speed = 1.5f;
|
||||
|
||||
public bool isStunnable;
|
||||
public float stunDuration;
|
||||
|
||||
public bool usesIdleMovement;
|
||||
public float idleWanderRadius;
|
||||
public float idleMoveDurationMin;
|
||||
public float idleMoveDurationMax;
|
||||
public float idlePauseDurationMin;
|
||||
public float idlePauseDurationMax;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa4dd2a5cce24902a2918488b5751f2f
|
||||
timeCreated: 1763581410
|
||||
@@ -1,12 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Gameplay/OrderBox", fileName = "OrderBoxConfig")]
|
||||
public class OrderBoxConfig : ScriptableObject
|
||||
{
|
||||
public float activationTime;
|
||||
public AnimationCurve floatingCurve;
|
||||
public float curveLength;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6af4f53d425a41c78ef889fd7e5c3197
|
||||
timeCreated: 1763735968
|
||||
@@ -1,11 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(fileName = "OrderServiceConfig", menuName = "Config/Gameplay/OrderServiceConfig")]
|
||||
public class OrderServiceConfig : ScriptableObject
|
||||
{
|
||||
public Vector2 timeBounds;
|
||||
public float koefRooms, koefOvertime;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee2550c3e4874575ac3aecadfcc42475
|
||||
timeCreated: 1763559999
|
||||
@@ -9,6 +9,5 @@ namespace Code.Configs
|
||||
public int maxHealth;
|
||||
|
||||
public AssetReference characterPrefab;
|
||||
public AssetReference armsMeshPrefab;
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,6 @@ namespace Code.Gameplay.Camera
|
||||
CurrentBaseState = States[CameraMode.UltraStatic];
|
||||
}
|
||||
|
||||
public UnityEngine.Camera Camera => StateMachineContext.Camera;
|
||||
|
||||
protected override bool CheckTransitionAllowed(CameraMode nextState) => true;
|
||||
|
||||
|
||||
+25
@@ -33,6 +33,11 @@ namespace Code.Gameplay.Character.Controller
|
||||
private GroundMovementSystem _groundMovement;
|
||||
private AirMovementSystem _airMovement;
|
||||
|
||||
public bool IsSliding => _slideMechanic.IsSliding;
|
||||
|
||||
private float abilityBlockTimer;
|
||||
private bool isAbilitiesBlocked;
|
||||
|
||||
public void SetPosition(Vector3 position) => motor.SetPosition(position);
|
||||
public void SetRotation(Quaternion rotation) => motor.SetRotation(rotation);
|
||||
|
||||
@@ -135,6 +140,20 @@ namespace Code.Gameplay.Character.Controller
|
||||
|
||||
// Сохраняем текущий режим камеры
|
||||
_currentCameraMode = inputs.CameraMode;
|
||||
|
||||
if (isAbilitiesBlocked)
|
||||
{
|
||||
abilityBlockTimer -= Time.deltaTime;
|
||||
if (abilityBlockTimer <= 0)
|
||||
{
|
||||
isAbilitiesBlocked = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
inputs.SprintPressed = false;
|
||||
inputs.SlidePressed = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Обработка слайда
|
||||
_slideMechanic.RequestSlide(inputs.SlidePressed);
|
||||
@@ -221,6 +240,12 @@ namespace Code.Gameplay.Character.Controller
|
||||
_groundMovement.CancelJumpRequest();
|
||||
}
|
||||
}
|
||||
|
||||
public void BlockAbilities(float duration)
|
||||
{
|
||||
isAbilitiesBlocked = true;
|
||||
abilityBlockTimer = duration;
|
||||
}
|
||||
|
||||
// Метод вызывается перед обновлением персонажа (можно использовать для подготовки)
|
||||
public void BeforeCharacterUpdate(float deltaTime)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Camera.CameraStates;
|
||||
using Code.Gameplay.Character.Controller;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Input;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
@@ -19,9 +18,6 @@ namespace Code.Gameplay.Character.Core
|
||||
|
||||
[Inject] private IInputService _inputService; // Сервис ввода через DI
|
||||
|
||||
[SerializeField] private PlayerAnimator _animator;
|
||||
public PlayerAnimator PlayerAnimator => _animator;
|
||||
|
||||
public void Teleport(Vector3 position, Quaternion rotation)
|
||||
{
|
||||
customCharacterController.SetPosition(position);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b36108558824d748620db29707cd2b1
|
||||
timeCreated: 1763228467
|
||||
@@ -0,0 +1,202 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AI;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Gameplay.Character.Controller;
|
||||
using Code.Gameplay.Character.Core;
|
||||
using Reflex.Attributes;
|
||||
using Reflex.Core;
|
||||
using Reflex.Injectors;
|
||||
|
||||
namespace Code.Gameplay.Enemies
|
||||
{
|
||||
public abstract class BaseEnemy : MonoBehaviour
|
||||
{
|
||||
[SerializeField] protected NavMeshAgent agent;
|
||||
[SerializeField] protected Collider enemyCollider;
|
||||
|
||||
protected int Damage;
|
||||
protected float AttackCooldown;
|
||||
|
||||
protected float DetectionRange;
|
||||
protected float AttackRange;
|
||||
|
||||
protected float Speed;
|
||||
|
||||
protected bool IsStunnable;
|
||||
protected float StunDuration;
|
||||
|
||||
protected bool UsesIdleMovement;
|
||||
protected float IdleWanderRadius;
|
||||
protected float IdleMoveDurationMin;
|
||||
protected float IdleMoveDurationMax;
|
||||
protected float IdlePauseDurationMin;
|
||||
protected float IdlePauseDurationMax;
|
||||
|
||||
private bool _isStunned;
|
||||
private float _currentStunTimer;
|
||||
|
||||
private bool _canAttack = true;
|
||||
private float _attackCooldownTimer;
|
||||
|
||||
private enum IdleState { Moving, Paused }
|
||||
private IdleState _currentIdleState = IdleState.Paused;
|
||||
private float _idleTimer;
|
||||
private Vector3 _idleTargetPosition;
|
||||
|
||||
[Inject] private IPlayerProvider _playerProvider;
|
||||
protected CharacterProvider Player => _playerProvider?.Character;
|
||||
protected PlayerHealth PlayerHealth => _playerProvider?.Health;
|
||||
protected CustomCharacterController PlayerController => Player?.CustomCharacterController;
|
||||
|
||||
protected virtual void Awake()
|
||||
{
|
||||
if (_playerProvider == null)
|
||||
{
|
||||
AttributeInjector.Inject(this, Container.ProjectContainer);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void Update()
|
||||
{
|
||||
if (!Player) return;
|
||||
|
||||
HandleStun();
|
||||
HandleAttackCooldown();
|
||||
if (_isStunned) return;
|
||||
|
||||
HandleMovement();
|
||||
HandleAttack();
|
||||
}
|
||||
|
||||
protected virtual void HandleMovement()
|
||||
{
|
||||
if (!Player || !agent) return;
|
||||
|
||||
var distanceToPlayer = Vector3.Distance(transform.position, Player.transform.position);
|
||||
|
||||
if (distanceToPlayer <= DetectionRange)
|
||||
{
|
||||
agent.isStopped = false;
|
||||
agent.SetDestination(Player.transform.position);
|
||||
}
|
||||
else if (UsesIdleMovement)
|
||||
{
|
||||
HandleIdleMovement();
|
||||
}
|
||||
else
|
||||
{
|
||||
agent.isStopped = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void HandleIdleMovement()
|
||||
{
|
||||
_idleTimer -= Time.deltaTime;
|
||||
|
||||
switch (_currentIdleState)
|
||||
{
|
||||
case IdleState.Paused:
|
||||
if (_idleTimer <= 0f)
|
||||
{
|
||||
// Start moving to a new random point
|
||||
_currentIdleState = IdleState.Moving;
|
||||
SetNewIdleDestination();
|
||||
_idleTimer = Random.Range(IdleMoveDurationMin, IdleMoveDurationMax);
|
||||
agent.isStopped = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case IdleState.Moving:
|
||||
if (_idleTimer <= 0f || HasReachedIdleDestination())
|
||||
{
|
||||
// Stop and pause
|
||||
_currentIdleState = IdleState.Paused;
|
||||
_idleTimer = Random.Range(IdlePauseDurationMin, IdlePauseDurationMax);
|
||||
agent.isStopped = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetNewIdleDestination()
|
||||
{
|
||||
Vector3 randomPoint = transform.position + Random.insideUnitSphere * IdleWanderRadius;
|
||||
NavMeshHit hit;
|
||||
if (NavMesh.SamplePosition(randomPoint, out hit, 3f, agent.areaMask))
|
||||
{
|
||||
_idleTargetPosition = hit.position;
|
||||
agent.SetDestination(_idleTargetPosition);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fallback: stay
|
||||
_idleTargetPosition = transform.position;
|
||||
}
|
||||
}
|
||||
|
||||
private bool HasReachedIdleDestination()
|
||||
{
|
||||
return agent.remainingDistance <= agent.stoppingDistance;
|
||||
}
|
||||
|
||||
protected virtual void HandleAttack() { }
|
||||
|
||||
protected virtual void HandleStun()
|
||||
{
|
||||
if (!_isStunned || !IsStunnable) return;
|
||||
|
||||
_currentStunTimer -= Time.deltaTime;
|
||||
|
||||
if (!(_currentStunTimer <= 0)) return;
|
||||
|
||||
_isStunned = false;
|
||||
agent.isStopped = false;
|
||||
enemyCollider.enabled = true;
|
||||
}
|
||||
|
||||
protected virtual void ApplyStun()
|
||||
{
|
||||
_isStunned = true;
|
||||
_currentStunTimer = StunDuration;
|
||||
agent.isStopped = true;
|
||||
enemyCollider.enabled = false;
|
||||
}
|
||||
|
||||
protected virtual void HandleAttackCooldown()
|
||||
{
|
||||
if (!_canAttack)
|
||||
{
|
||||
_attackCooldownTimer -= Time.deltaTime;
|
||||
if (_attackCooldownTimer <= 0)
|
||||
{
|
||||
_canAttack = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void DealDamage()
|
||||
{
|
||||
if (!_canAttack || PlayerHealth == null) return;
|
||||
|
||||
PlayerHealth.GetDamage(Damage);
|
||||
ApplyEffectsToPlayer();
|
||||
|
||||
_canAttack = false;
|
||||
_attackCooldownTimer = AttackCooldown;
|
||||
}
|
||||
|
||||
protected virtual void ApplyEffectsToPlayer()
|
||||
{
|
||||
PlayerController.BlockAbilities(3f);
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
Gizmos.color = Color.yellow;
|
||||
Gizmos.DrawWireSphere(transform.position, DetectionRange);
|
||||
|
||||
Gizmos.color = new Color(0.3f, 0.3f, 0.8f, 0.4f);
|
||||
Gizmos.DrawSphere(transform.position, AttackRange);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 691006ba0f69448787db8f350ecf32f4
|
||||
timeCreated: 1763228480
|
||||
@@ -0,0 +1,55 @@
|
||||
using Code.Configs;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AI;
|
||||
|
||||
namespace Code.Gameplay.Enemies
|
||||
{
|
||||
public class Cockroach : BaseEnemy
|
||||
{
|
||||
[Inject]
|
||||
private void Construct(CockroachConfig cockroachConfig)
|
||||
{
|
||||
Damage = cockroachConfig.damage;
|
||||
AttackCooldown = cockroachConfig.attackCooldown;
|
||||
|
||||
DetectionRange = cockroachConfig.detectionRange;
|
||||
AttackRange = cockroachConfig.attackRange;
|
||||
|
||||
Speed = cockroachConfig.speed;
|
||||
|
||||
IsStunnable = cockroachConfig.isStunnable;
|
||||
StunDuration = cockroachConfig.stunDuration;
|
||||
|
||||
UsesIdleMovement = cockroachConfig.usesIdleMovement;
|
||||
IdleWanderRadius = cockroachConfig.idleWanderRadius;
|
||||
IdleMoveDurationMin = cockroachConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = cockroachConfig.idleMoveDurationMax;
|
||||
IdleMoveDurationMin = cockroachConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = cockroachConfig.idleMoveDurationMax;
|
||||
IdlePauseDurationMin = cockroachConfig.idlePauseDurationMin;
|
||||
IdlePauseDurationMax = cockroachConfig.idlePauseDurationMax;
|
||||
}
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
if (agent == null) return;
|
||||
|
||||
var walkableArea = NavMesh.GetAreaFromName("Cockroach");
|
||||
agent.areaMask = 1 << walkableArea;
|
||||
}
|
||||
|
||||
protected override void HandleAttack()
|
||||
{
|
||||
if (!Player) return;
|
||||
|
||||
var distance = Vector3.Distance(transform.position, Player.transform.position);
|
||||
|
||||
if (!(distance <= AttackRange)) return;
|
||||
|
||||
DealDamage();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 119c0b675c944ed7ada6cdc8db4b04aa
|
||||
timeCreated: 1763228933
|
||||
@@ -0,0 +1,58 @@
|
||||
using Code.Configs;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AI;
|
||||
|
||||
namespace Code.Gameplay.Enemies
|
||||
{
|
||||
public class DrunkenGrandpa : BaseEnemy
|
||||
{
|
||||
[Inject]
|
||||
private void Construct(DrunkenGrandpaConfig drunkenGrandpaConfig)
|
||||
{
|
||||
Damage = drunkenGrandpaConfig.damage;
|
||||
AttackCooldown = drunkenGrandpaConfig.attackCooldown;
|
||||
|
||||
DetectionRange = drunkenGrandpaConfig.detectionRange;
|
||||
AttackRange = drunkenGrandpaConfig.attackRange;
|
||||
|
||||
Speed = drunkenGrandpaConfig.speed;
|
||||
|
||||
IsStunnable = drunkenGrandpaConfig.isStunnable;
|
||||
StunDuration = drunkenGrandpaConfig.stunDuration;
|
||||
|
||||
UsesIdleMovement = drunkenGrandpaConfig.usesIdleMovement;
|
||||
IdleWanderRadius = drunkenGrandpaConfig.idleWanderRadius;
|
||||
IdleMoveDurationMin = drunkenGrandpaConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = drunkenGrandpaConfig.idleMoveDurationMax;
|
||||
IdleMoveDurationMin = drunkenGrandpaConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = drunkenGrandpaConfig.idleMoveDurationMax;
|
||||
IdlePauseDurationMin = drunkenGrandpaConfig.idlePauseDurationMin;
|
||||
IdlePauseDurationMax = drunkenGrandpaConfig.idlePauseDurationMax;
|
||||
}
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
if (agent == null) return;
|
||||
|
||||
var walkableArea = NavMesh.GetAreaFromName("Walkable");
|
||||
agent.areaMask = 1 << walkableArea;
|
||||
}
|
||||
|
||||
protected override void HandleAttack()
|
||||
{
|
||||
if (!Player) return;
|
||||
|
||||
var distance = Vector3.Distance(transform.position, Player.transform.position);
|
||||
|
||||
if (!(distance <= AttackRange)) return;
|
||||
|
||||
if (Player.CustomCharacterController.IsSliding)
|
||||
ApplyStun();
|
||||
else
|
||||
DealDamage();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e77164596e249bca15e09cdfc9ddac2
|
||||
timeCreated: 1763228910
|
||||
@@ -0,0 +1,68 @@
|
||||
using Code.Configs;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Enemies
|
||||
{
|
||||
public class Fog : BaseEnemy
|
||||
{
|
||||
[Inject]
|
||||
private void Construct(FogConfig fogConfig)
|
||||
{
|
||||
Damage = fogConfig.damage;
|
||||
AttackCooldown = fogConfig.attackCooldown;
|
||||
|
||||
DetectionRange = fogConfig.detectionRange;
|
||||
AttackRange = fogConfig.attackRange;
|
||||
|
||||
Speed = fogConfig.speed;
|
||||
|
||||
IsStunnable = fogConfig.isStunnable;
|
||||
StunDuration = fogConfig.stunDuration;
|
||||
|
||||
UsesIdleMovement = fogConfig.usesIdleMovement;
|
||||
IdleWanderRadius = fogConfig.idleWanderRadius;
|
||||
IdleMoveDurationMin = fogConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = fogConfig.idleMoveDurationMax;
|
||||
IdleMoveDurationMin = fogConfig.idleMoveDurationMin;
|
||||
IdleMoveDurationMax = fogConfig.idleMoveDurationMax;
|
||||
IdlePauseDurationMin = fogConfig.idlePauseDurationMin;
|
||||
IdlePauseDurationMax = fogConfig.idlePauseDurationMax;
|
||||
}
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
if (agent == null) return;
|
||||
agent.enabled = false;
|
||||
Destroy(agent);
|
||||
}
|
||||
|
||||
protected override void HandleMovement()
|
||||
{
|
||||
if (!Player) return;
|
||||
|
||||
var direction = (Player.transform.position - transform.position).normalized;
|
||||
transform.position += direction * (Speed * Time.deltaTime);
|
||||
}
|
||||
|
||||
protected override void HandleAttack()
|
||||
{
|
||||
if (!Player || PlayerHealth == null) return;
|
||||
|
||||
var distance = Vector3.Distance(transform.position, Player.transform.position);
|
||||
|
||||
if (!(distance < AttackRange)) return;
|
||||
|
||||
PlayerHealth.GetDamage(PlayerHealth.MaxHealthPoints);
|
||||
base.ApplyEffectsToPlayer();
|
||||
}
|
||||
|
||||
private void OnDrawGizmosSelected()
|
||||
{
|
||||
Gizmos.color = new Color(0.3f, 0.3f, 0.8f, 0.4f);
|
||||
Gizmos.DrawSphere(transform.position, AttackRange);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c70370426e4457aa9a56c77689158ff
|
||||
timeCreated: 1763228955
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e41c28f7828a44b7bc26d87886064d99
|
||||
timeCreated: 1763556651
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4911436131e345ada949f2418595bbd8
|
||||
timeCreated: 1763559099
|
||||
@@ -1,20 +0,0 @@
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public interface IOrderService
|
||||
{
|
||||
delegate void OrderProgressDelegate(float time);
|
||||
|
||||
event OrderProgressDelegate OnOrderGiven;
|
||||
event OrderProgressDelegate OnOrderRecieved;
|
||||
|
||||
delegate void OrderDeliveredDelegate(int score, float time);
|
||||
|
||||
event OrderDeliveredDelegate OnOrderDelivered;
|
||||
OrderState OrderState { get; }
|
||||
void RoomPassed();
|
||||
float DecreaseTimer(float delta);
|
||||
void OrderGive();
|
||||
void OrderRecieved();
|
||||
void OrderDelivered();
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b4467951c884c8dafeb633020696c24
|
||||
timeCreated: 1763561686
|
||||
@@ -1,9 +0,0 @@
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public interface IScoreService
|
||||
{
|
||||
int Score { get; }
|
||||
void IncreaseScore(int amount);
|
||||
void DecreaseScore(int amount);
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 64668c9ef4c441af84c635365cfbb2de
|
||||
timeCreated: 1763559523
|
||||
@@ -1,68 +0,0 @@
|
||||
using System;
|
||||
using Code.Configs;
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class OrderBox : MonoBehaviour
|
||||
{
|
||||
[Inject] private IOrderService _orderService;
|
||||
public Rigidbody rigidbody;
|
||||
[SerializeField] private bool _pickupMode;
|
||||
// [SerializeField] private AnimationCurve debugCurve;
|
||||
|
||||
//DEBUG
|
||||
// private void Start()
|
||||
// {
|
||||
// _capturedPosition = transform.position;
|
||||
// _floatingCurve = debugCurve;
|
||||
// _curveLength = 1f;
|
||||
// }
|
||||
// DEBUG
|
||||
|
||||
private float _activationTime;
|
||||
[Inject]
|
||||
private void Construct(OrderBoxConfig config)
|
||||
{
|
||||
_floatingCurve = config.floatingCurve;
|
||||
_activationTime = config.activationTime;
|
||||
_curveLength = config.curveLength;
|
||||
}
|
||||
public void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (!_pickupMode) return;
|
||||
|
||||
_orderService.OrderRecieved();
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
public async UniTaskVoid SwitchMode()
|
||||
{
|
||||
Debug.LogWarning("Activating");
|
||||
await UniTask.WaitForSeconds(_activationTime);
|
||||
Debug.LogWarning("Available");
|
||||
_pickupMode = true;
|
||||
rigidbody.isKinematic = true;
|
||||
_capturedPosition = transform.position;
|
||||
}
|
||||
|
||||
private Vector3 _capturedPosition;
|
||||
private float _timeForMoving;
|
||||
private AnimationCurve _floatingCurve;
|
||||
private float _curveLength;
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (!_pickupMode) return;
|
||||
_timeForMoving += Time.fixedDeltaTime;
|
||||
|
||||
if (_timeForMoving > _curveLength) _timeForMoving = 0;
|
||||
|
||||
transform.position = _capturedPosition + new Vector3(0, _floatingCurve.Evaluate(_timeForMoving), 0);
|
||||
Debug.Log(transform.position);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 067bc72af86a4fb8ac44d0c1fcfd25d5
|
||||
timeCreated: 1763573681
|
||||
@@ -1,19 +0,0 @@
|
||||
using System;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class OrderDeliveryTrigger : MonoBehaviour
|
||||
{
|
||||
[Inject] private IOrderService _orderService;
|
||||
private bool _playerEntered;
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (_playerEntered) return;
|
||||
|
||||
_playerEntered = true;
|
||||
_orderService.OrderDelivered();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47fbefab729047e5a11d8761e26f75a6
|
||||
timeCreated: 1763737623
|
||||
@@ -1,31 +0,0 @@
|
||||
using DG.Tweening;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class OrderDispenser : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Transform hatch;
|
||||
[SerializeField] private OrderBox order;
|
||||
|
||||
private bool _activated;
|
||||
public void ThrowOrder()
|
||||
{
|
||||
hatch.DORotate(new Vector3(-130f, 0, 0), 0.2f);
|
||||
|
||||
order.rigidbody.isKinematic = false;
|
||||
order.rigidbody.AddForce(-transform.forward * 10f, ForceMode.Impulse);
|
||||
}
|
||||
|
||||
// DEBUG TODO ДИМКА УДАЛИ И ПРОПИШИ В СВОЕЙ ЛОГИКЕ
|
||||
public void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if(_activated) return;
|
||||
_activated = true;
|
||||
|
||||
ThrowOrder();
|
||||
order.SwitchMode();
|
||||
}
|
||||
// DEBUG
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e50e3c42f5ee45e0b1087e0dbf7dd0f4
|
||||
timeCreated: 1763556675
|
||||
@@ -1,18 +0,0 @@
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class OrderGiveTrigger : MonoBehaviour
|
||||
{
|
||||
[Inject] private IOrderService _orderService;
|
||||
private bool _playerEntered;
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (_playerEntered) return;
|
||||
|
||||
_playerEntered = true;
|
||||
_orderService.OrderGive();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d3966e4798d243abba9d85b9ad8aef33
|
||||
timeCreated: 1763742374
|
||||
@@ -1,61 +0,0 @@
|
||||
using Code.Audio;
|
||||
using Code.Configs;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class OrderService : IOrderService
|
||||
{
|
||||
public event IOrderService.OrderProgressDelegate OnOrderGiven;
|
||||
public event IOrderService.OrderProgressDelegate OnOrderRecieved;
|
||||
public event IOrderService.OrderDeliveredDelegate OnOrderDelivered;
|
||||
|
||||
private OrderState _orderState;
|
||||
public OrderState OrderState => _orderState;
|
||||
|
||||
private float _deliveryTimer = 0.0f;
|
||||
|
||||
private Vector2 _timeBounds;
|
||||
private float _koefRooms, _koefOvertime;
|
||||
|
||||
private int _roomsPassed;
|
||||
|
||||
public OrderService(OrderServiceConfig config)
|
||||
{
|
||||
_orderState = OrderState.Delivered;
|
||||
|
||||
_timeBounds = config.timeBounds;
|
||||
_koefRooms = config.koefRooms;
|
||||
_koefOvertime = config.koefOvertime;
|
||||
}
|
||||
|
||||
public void RoomPassed() => _roomsPassed++;
|
||||
public float DecreaseTimer(float delta)
|
||||
{
|
||||
return _deliveryTimer -= delta;
|
||||
}
|
||||
|
||||
public void OrderGive()
|
||||
{
|
||||
_orderState = OrderState.Given;
|
||||
_roomsPassed = 0;
|
||||
|
||||
_deliveryTimer = Random.Range(_timeBounds.x, _timeBounds.y);
|
||||
OnOrderGiven?.Invoke(_deliveryTimer);
|
||||
}
|
||||
|
||||
public void OrderRecieved()
|
||||
{
|
||||
_orderState = OrderState.Recieved;
|
||||
OnOrderRecieved?.Invoke(_deliveryTimer);
|
||||
}
|
||||
|
||||
public void OrderDelivered()
|
||||
{
|
||||
_orderState = OrderState.Delivered;
|
||||
|
||||
int score = (int)(_koefRooms * _roomsPassed + _deliveryTimer * _koefOvertime);
|
||||
OnOrderDelivered?.Invoke(score, _deliveryTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b324c2a1be1546868cddf779445b286a
|
||||
timeCreated: 1763559110
|
||||
@@ -1,9 +0,0 @@
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public enum OrderState
|
||||
{
|
||||
Delivered,
|
||||
Given,
|
||||
Recieved,
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a8980a0cc034110ab3ccd948d40956b
|
||||
timeCreated: 1763559535
|
||||
@@ -1,11 +0,0 @@
|
||||
namespace Code.Gameplay.Orders.Order
|
||||
{
|
||||
public class ScoreService : IScoreService
|
||||
{
|
||||
private int _score;
|
||||
public int Score => _score;
|
||||
|
||||
public void IncreaseScore(int amount) => _score += amount;
|
||||
public void DecreaseScore(int amount) => _score -= amount;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 619f2425460843aaa1f0f21e302158ce
|
||||
timeCreated: 1763559528
|
||||
@@ -1,9 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Player
|
||||
{
|
||||
public class ArmsMeshProvider : MonoBehaviour
|
||||
{
|
||||
[SerializeField] public Animator ArmsAnimator;
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cfe65f613bc54b4098acdba0d3fdd2a2
|
||||
timeCreated: 1763730814
|
||||
@@ -11,7 +11,5 @@ namespace Code.Gameplay.Player
|
||||
PlayerMoney CreatePlayerMoney(int count = 0);
|
||||
UniTask<CharacterProvider> CreatePlayer();
|
||||
void ReleasePlayer(CharacterProvider characterProvider);
|
||||
UniTask<ArmsMeshProvider> CreateArms(Transform papochka);
|
||||
void ReleaseArms(ArmsMeshProvider arms);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using Code.Gameplay.Character.Core;
|
||||
|
||||
namespace Code.Gameplay.Player
|
||||
{
|
||||
public interface IPlayerProvider
|
||||
{
|
||||
CharacterProvider Character { get; }
|
||||
PlayerHealth Health { get; }
|
||||
bool IsSpawned { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8fdfaa773e8645d5a2d400c0317b9894
|
||||
timeCreated: 1763237368
|
||||
@@ -7,13 +7,12 @@ namespace Code.Gameplay.Player
|
||||
{
|
||||
private static readonly int Velocity = Animator.StringToHash("Velocity");
|
||||
|
||||
private Animator _playerAnimator;
|
||||
public void SetAnimator(Animator animator) => _playerAnimator = animator;
|
||||
[SerializeField] private Animator playerAnimator;
|
||||
[SerializeField] private KinematicCharacterMotor kinematicCharacterMotor;
|
||||
|
||||
private void SetVelocity(float velocity)
|
||||
{
|
||||
_playerAnimator.SetFloat(Velocity, velocity);
|
||||
playerAnimator.SetFloat(Velocity, velocity);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Code.Gameplay.Player
|
||||
public class PlayerFactory : IPlayerFactory
|
||||
{
|
||||
[Inject] PlayerConfig _playerConfig;
|
||||
[Inject] private IPlayerProvider _playerProvider;
|
||||
|
||||
public PlayerHealth CreatePlayerHealth(int count = -1)
|
||||
{
|
||||
@@ -25,18 +26,21 @@ namespace Code.Gameplay.Player
|
||||
|
||||
public async UniTask<CharacterProvider> CreatePlayer()
|
||||
{
|
||||
CharacterProvider characterProvider = (await Addressables.InstantiateAsync(_playerConfig.characterPrefab).ToUniTask()).GetComponent<CharacterProvider>();
|
||||
AttributeInjector.Inject(characterProvider, Container.ProjectContainer);
|
||||
AttributeInjector.Inject(characterProvider.CustomCharacterController, Container.ProjectContainer);
|
||||
return characterProvider;
|
||||
var go = await Addressables.InstantiateAsync(_playerConfig.characterPrefab).ToUniTask();
|
||||
var provider = go.GetComponent<CharacterProvider>();
|
||||
|
||||
AttributeInjector.Inject(provider, Container.ProjectContainer);
|
||||
AttributeInjector.Inject(provider.CustomCharacterController, Container.ProjectContainer);
|
||||
|
||||
((PlayerProvider)_playerProvider).SetPlayer(provider, _playerConfig);
|
||||
|
||||
return provider;
|
||||
}
|
||||
|
||||
public void ReleasePlayer(CharacterProvider characterProvider)
|
||||
{
|
||||
((PlayerProvider)_playerProvider).ClearPlayer();
|
||||
Addressables.ReleaseInstance(characterProvider.gameObject);
|
||||
}
|
||||
|
||||
public async UniTask<ArmsMeshProvider> CreateArms(Transform papochka) => (await Addressables.InstantiateAsync(_playerConfig.armsMeshPrefab, papochka).ToUniTask()).GetComponent<ArmsMeshProvider>();
|
||||
public void ReleaseArms(ArmsMeshProvider arms) => Addressables.ReleaseInstance(arms.gameObject);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using Code.Configs;
|
||||
using Code.Gameplay.Character.Core;
|
||||
|
||||
namespace Code.Gameplay.Player
|
||||
{
|
||||
public class PlayerProvider : IPlayerProvider
|
||||
{
|
||||
public CharacterProvider Character { get; private set; }
|
||||
|
||||
public PlayerHealth Health { get; private set; }
|
||||
|
||||
public bool IsSpawned => Character != null;
|
||||
|
||||
internal void SetPlayer(CharacterProvider character, PlayerConfig config)
|
||||
{
|
||||
Character = character;
|
||||
Health = new PlayerHealth(config.maxHealth);
|
||||
}
|
||||
|
||||
internal void ClearPlayer()
|
||||
{
|
||||
Character = null;
|
||||
Health = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0dbe29c5f0e9431db8c8da25eeb8fa95
|
||||
timeCreated: 1763237388
|
||||
@@ -1,4 +1,3 @@
|
||||
using Code.Gameplay.Orders.Order;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
@@ -9,13 +8,11 @@ namespace Code.Scenes.SceneEnvironments
|
||||
{
|
||||
[FormerlySerializedAs("sfxTarget")] public Transform debugSfxTarget;
|
||||
public Transform playerSpawnPoint;
|
||||
public OrderDispenser debugTube;
|
||||
|
||||
public void TransitVariables(GameplaySceneEnvironment env)
|
||||
{
|
||||
debugSfxTarget = env.debugSfxTarget;
|
||||
playerSpawnPoint = env.playerSpawnPoint;
|
||||
debugTube = env.debugTube;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ namespace Code.Scenes
|
||||
callBack?.Invoke();
|
||||
}
|
||||
|
||||
public async UniTask LoadSceneAsyncAwaitable(int sceneId, float waitFor = 0f)
|
||||
public async UniTask LoadSceneAsyncAwaitable(int sceneId, float waitFor = 0)
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
UniTask.Delay(TimeSpan.FromSeconds(waitFor)),
|
||||
|
||||
@@ -21,8 +21,9 @@ namespace Code.StaticData
|
||||
SFXListConfig SFXListConfig { get; }
|
||||
DispatcherSoundListConfig DispatcherSoundListConfig { get; }
|
||||
EnemiesSoundListConfig EnemiesSoundListConfig { get; }
|
||||
OrderServiceConfig OrderServiceConfig { get; }
|
||||
OrderBoxConfig OrderBoxConfig { get; }
|
||||
DrunkenGrandpaConfig DrunkenGrandpaConfig { get; }
|
||||
CockroachConfig CockroachConfig { get; }
|
||||
FogConfig FogConfig { get; }
|
||||
void Load();
|
||||
Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour;
|
||||
}
|
||||
|
||||
@@ -20,8 +20,9 @@ namespace Code.StaticData
|
||||
public SFXListConfig SFXListConfig { get; private set; }
|
||||
public DispatcherSoundListConfig DispatcherSoundListConfig { get; private set; }
|
||||
public EnemiesSoundListConfig EnemiesSoundListConfig { get; private set; }
|
||||
public OrderServiceConfig OrderServiceConfig { get; private set; }
|
||||
public OrderBoxConfig OrderBoxConfig { get; private set; }
|
||||
public DrunkenGrandpaConfig DrunkenGrandpaConfig {get; private set;}
|
||||
public CockroachConfig CockroachConfig { get; private set; }
|
||||
public FogConfig FogConfig { get; private set; }
|
||||
|
||||
public void Load()
|
||||
{
|
||||
@@ -31,10 +32,9 @@ namespace Code.StaticData
|
||||
CharacterConfig = Resources.Load<CharacterConfig>(string.Format(StringPaths.ConfigSingle, "App", "CharacterConfig"));
|
||||
UIConfig = Resources.Load<UIConfig>(string.Format(StringPaths.ConfigSingle, "App", "UIConfig"));
|
||||
PlayerConfig = Resources.Load<PlayerConfig>(string.Format(StringPaths.ConfigSingle, "App", "PlayerConfig"));
|
||||
OrderServiceConfig = Resources.Load<OrderServiceConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderServiceConfig"));
|
||||
OrderBoxConfig = Resources.Load<OrderBoxConfig>(string.Format(StringPaths.ConfigSingle, "Gameplay", "OrderBoxConfig"));
|
||||
|
||||
LoadAudioConfigs();
|
||||
LoadEnemiesConfigs();
|
||||
}
|
||||
|
||||
private void LoadAudioConfigs()
|
||||
@@ -46,6 +46,13 @@ namespace Code.StaticData
|
||||
EnemiesSoundListConfig = Resources.Load<EnemiesSoundListConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "EnemiesSoundListConfig"));
|
||||
}
|
||||
|
||||
private void LoadEnemiesConfigs()
|
||||
{
|
||||
DrunkenGrandpaConfig = Resources.Load<DrunkenGrandpaConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "DrunkenGrandpaConfig"));
|
||||
CockroachConfig = Resources.Load<CockroachConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "CockroachConfig"));
|
||||
FogConfig = Resources.Load<FogConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "FogConfig"));
|
||||
}
|
||||
|
||||
public async Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour
|
||||
{
|
||||
return (await Addressables.InstantiateAsync(assetReference).ToUniTask()).GetComponent<T>();
|
||||
|
||||
@@ -2,9 +2,10 @@ using Code.Gameplay.Player;
|
||||
using DG.Tweening;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Code.UI.Panels
|
||||
namespace Code.UI
|
||||
{
|
||||
public class GameplayPanel : UIElement
|
||||
{
|
||||
@@ -15,7 +16,6 @@ namespace Code.UI.Panels
|
||||
[SerializeField] private float dispatcherTransitionTime = 0.5f;
|
||||
[Header("Timer")]
|
||||
[SerializeField] private TMP_Text timer;
|
||||
public TMP_Text Timer => timer;
|
||||
[Header("HealthBar")]
|
||||
[SerializeField] private Image healthBar;
|
||||
[Header("MoneyBar")]
|
||||
@@ -41,6 +41,11 @@ namespace Code.UI.Panels
|
||||
health.OnDamage += HealthUpdate;
|
||||
HealthUpdate(0,health);
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
timer.text = Time.deltaTime.ToString();
|
||||
}
|
||||
|
||||
public void SummonDispatcher()
|
||||
{
|
||||
// TODO
|
||||
|
||||
@@ -154,7 +154,6 @@ AudioMixerSnapshotController:
|
||||
m_SnapshotID: 6d6b0cfa14637d5f0a34277934971c34
|
||||
m_FloatValues:
|
||||
b9fc0df121fe7134e9cbd35aa5a65755: -80
|
||||
4c469b14481ac855fb9fb2989e6e6b94: -14.221897
|
||||
ddab7e07de3c686e296ff10b1cd77a47: -80
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!241 &24100000
|
||||
@@ -190,7 +189,7 @@ AudioMixerController:
|
||||
- af6d3dead2e9e4848a2ca2fa55634108
|
||||
name: View
|
||||
m_CurrentViewIndex: 0
|
||||
m_TargetSnapshot: {fileID: -1214924791136564940}
|
||||
m_TargetSnapshot: {fileID: -5566153147845745614}
|
||||
--- !u!243 &24300002
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -19,9 +19,3 @@ MonoBehaviour:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
armsMeshPrefab:
|
||||
m_AssetGUID: 1d4767c722c05b5d6b96bb226d378c65
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -13,32 +13,12 @@ MonoBehaviour:
|
||||
m_Name: SoundtrackListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.SoundtrackListConfig
|
||||
peacefulSoundtrack:
|
||||
- m_AssetGUID: 803e40b883c823b89a91aa8b9d9fc483
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 803e40b883c823b89a91aa8b9d9fc483
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
actionSoundtrack:
|
||||
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: f4b6fa54ecac6cc418f98824491aa17a
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
@@ -55,8 +35,3 @@ MonoBehaviour:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c7160d745f618dbdb8163f29d1bd3fcb
|
||||
guid: 9dec9aa8ce6e1be92b7f1daeffd7a9b6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -0,0 +1,33 @@
|
||||
%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: 7bc162d3127949aa950d0738beee99a4, type: 3}
|
||||
m_Name: CockroachConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CockroachConfig
|
||||
cockroachPrefab:
|
||||
m_AssetGUID:
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
damage: 2
|
||||
attackCooldown: 1.5
|
||||
detectionRange: 20
|
||||
attackRange: 1.3
|
||||
speed: 6
|
||||
isStunnable: 0
|
||||
stunDuration: 0
|
||||
usesIdleMovement: 1
|
||||
idleWanderRadius: 3
|
||||
idleMoveDurationMin: 0.3
|
||||
idleMoveDurationMax: 1
|
||||
idlePauseDurationMin: 0.1
|
||||
idlePauseDurationMax: 0.8
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 15fc4dd72b7b0ac0c9210a07f70b4007
|
||||
guid: ac804127a406a864f8c178cd56e2b210
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
@@ -0,0 +1,33 @@
|
||||
%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: 4d157e8891074b90957a7434cff0ae71, type: 3}
|
||||
m_Name: DrunkenGrandpaConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.DrunkenGrandpaConfig
|
||||
drunkenGrandpaPrefab:
|
||||
m_AssetGUID:
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
damage: 2
|
||||
attackCooldown: 5
|
||||
detectionRange: 10
|
||||
attackRange: 1.5
|
||||
speed: 3
|
||||
isStunnable: 1
|
||||
stunDuration: 3
|
||||
usesIdleMovement: 1
|
||||
idleWanderRadius: 5
|
||||
idleMoveDurationMin: 1
|
||||
idleMoveDurationMax: 5
|
||||
idlePauseDurationMin: 3
|
||||
idlePauseDurationMax: 5
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38984bc3c0ffd57a0a88f0da6f96e470
|
||||
guid: fd5e843255fee395ea687b9d5ad5741d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
@@ -0,0 +1,33 @@
|
||||
%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: aa4dd2a5cce24902a2918488b5751f2f, type: 3}
|
||||
m_Name: FogConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.FogConfig
|
||||
fogPrefab:
|
||||
m_AssetGUID:
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
damage: 2147483647
|
||||
attackCooldown: 0
|
||||
detectionRange: 0
|
||||
attackRange: 5
|
||||
speed: 1.5
|
||||
isStunnable: 0
|
||||
stunDuration: 0
|
||||
usesIdleMovement: 0
|
||||
idleWanderRadius: 0
|
||||
idleMoveDurationMin: 0
|
||||
idleMoveDurationMax: 0
|
||||
idlePauseDurationMin: 0
|
||||
idlePauseDurationMax: 0
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a35867b942225319bb9c26db15511aaf
|
||||
guid: 367017c1e176ddbbd9135cb82dbd94d2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
@@ -1,49 +0,0 @@
|
||||
%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: 6af4f53d425a41c78ef889fd7e5c3197, type: 3}
|
||||
m_Name: OrderBoxConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.OrderBoxConfig
|
||||
activationTime: 2
|
||||
floatingCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 1.4374113
|
||||
outSlope: 1.4374113
|
||||
tangentMode: 34
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.48992503
|
||||
value: 0.70422375
|
||||
inSlope: 0.028391719
|
||||
outSlope: 0.028391719
|
||||
tangentMode: 34
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: -1.3806279
|
||||
outSlope: -1.3806279
|
||||
tangentMode: 34
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
curveLength: 1
|
||||
@@ -1,20 +0,0 @@
|
||||
%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: 95639b2744d24b66842ac3d71d056129, type: 3}
|
||||
m_Name: OrderFactoryConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.OrderFactoryConfig
|
||||
orderDispenserPrefab:
|
||||
m_AssetGUID: 751890caa1647ec6689f24933fbcb770
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -1,17 +0,0 @@
|
||||
%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: ee2550c3e4874575ac3aecadfcc42475, type: 3}
|
||||
m_Name: OrderServiceConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.OrderServiceConfig
|
||||
timeBounds: {x: 35, y: 120}
|
||||
koefRooms: 2
|
||||
koefOvertime: 4
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dd66bc1698bb3972b97125d4d6e4ea22
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,139 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-2147114197879300112
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: DrunkenGrandpa
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 0a8ed27d17fe9b085834fba6972c0a8a, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 6c92883f2935443458f5dadf53dae100, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 0a8ed27d17fe9b085834fba6972c0a8a, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: bc57aa85d09f3b056ab86a1439ee1e00, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d74b98a8711ab75e813aea13cb6211e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a8ed27d17fe9b085834fba6972c0a8a
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
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: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
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
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
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:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
+130
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6c92883f2935443458f5dadf53dae100
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
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: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 1
|
||||
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
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
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:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
+130
@@ -0,0 +1,130 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc57aa85d09f3b056ab86a1439ee1e00
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
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: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
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
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
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:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6ba8e76344dabbf13af813f7bea7f6e6
|
||||
guid: 89b8ea3befbb7ac3d9998f40fc1bb119
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,110 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 332f301c5f054a7df80785fdefd47cb4
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 0
|
||||
importLights: 0
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,110 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c44268c921316e02b33de5f8fbaefbd
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 0
|
||||
importLights: 0
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 0
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 1
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 0
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,57 +1,5 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-7043403378478565280
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: mp_clapping
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 3547499754263378043, guid: fdcbb8593657d506fabab9c7ff1b24d0, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-2520237455980583399
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: mp_gun_volley_2
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 5024885288434809407, guid: fae7e38c4cf16670996b82c8355e269a, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -89,7 +37,7 @@ BlendTree:
|
||||
m_Name: MovementBlendTree
|
||||
m_Childs:
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: 9017035348754885801, guid: 6dd32929f788d35afba7c6c6c124a92d, type: 3}
|
||||
m_Motion: {fileID: -8439424969872400937, guid: a7e412e490909bf47af7fe22cd5bd0bf, type: 3}
|
||||
m_Threshold: 0
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
@@ -97,8 +45,8 @@ BlendTree:
|
||||
m_DirectBlendParameter: Blend
|
||||
m_Mirror: 0
|
||||
- serializedVersion: 2
|
||||
m_Motion: {fileID: -4320063115943924929, guid: 02296f680a0e6ed48a92d690d2d82b6e, type: 3}
|
||||
m_Threshold: 10
|
||||
m_Motion: {fileID: 1770808807073381973, guid: 6ed541dfed802de44928541e1857e4c0, type: 3}
|
||||
m_Threshold: 1
|
||||
m_Position: {x: 0, y: 0}
|
||||
m_TimeScale: 1
|
||||
m_CycleOffset: 0
|
||||
@@ -107,36 +55,10 @@ BlendTree:
|
||||
m_BlendParameter: Velocity
|
||||
m_BlendParameterY: Blend
|
||||
m_MinThreshold: 0
|
||||
m_MaxThreshold: 10
|
||||
m_MaxThreshold: 1
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 0
|
||||
--- !u!1102 &4001842930699683769
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: mp_getriddy_2
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -7308155286946282308, guid: 8c55cfe0387fb209d9487e7b2ed30842, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &4749464319161710948
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@@ -149,15 +71,6 @@ AnimatorStateMachine:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 8889563492703692874}
|
||||
m_Position: {x: 250, y: 90, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2520237455980583399}
|
||||
m_Position: {x: 250, y: 330, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 4001842930699683769}
|
||||
m_Position: {x: 250, y: 400, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7043403378478565280}
|
||||
m_Position: {x: 250, y: 260, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
||||
Binary file not shown.
+61
-3
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fae7e38c4cf16670996b82c8355e269a
|
||||
guid: a7e412e490909bf47af7fe22cd5bd0bf
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
@@ -29,7 +29,65 @@ ModelImporter:
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: idle
|
||||
takeName: root|root|root|Armature.001|mixamo.com|Layer0.001_IN_PLACE_remap
|
||||
internalID: -8439424969872400937
|
||||
firstFrame: 0
|
||||
lastFrame: 36
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 1
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: root|root|root|Armature.002|mixamo.com|Layer0_remap
|
||||
takeName: root|root|root|Armature.002|mixamo.com|Layer0_remap
|
||||
internalID: -4320063115943924929
|
||||
firstFrame: 0
|
||||
lastFrame: 17
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
@@ -96,7 +154,7 @@ ModelImporter:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 6dd32929f788d35afba7c6c6c124a92d, type: 3}
|
||||
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 02296f680a0e6ed48a92d690d2d82b6e, type: 3}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
@@ -31,7 +31,7 @@ ModelImporter:
|
||||
extraUserProperties: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: Running
|
||||
name: running
|
||||
takeName: root|root|root|Armature.002|mixamo.com|Layer0_remap
|
||||
internalID: -4320063115943924929
|
||||
firstFrame: 0
|
||||
@@ -39,11 +39,11 @@ ModelImporter:
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0.567
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 0
|
||||
loopBlend: 1
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
@@ -125,11 +125,11 @@ ModelImporter:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 6dd32929f788d35afba7c6c6c124a92d, type: 3}
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 2
|
||||
avatarSetup: 1
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
|
||||
Binary file not shown.
Loaded 100 of 173 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user