diff --git a/Assets/Scripts/Enemy/EnemyController.cs b/Assets/Scripts/Enemy/EnemyController.cs index b7a5c93b..f7713da3 100644 --- a/Assets/Scripts/Enemy/EnemyController.cs +++ b/Assets/Scripts/Enemy/EnemyController.cs @@ -14,9 +14,9 @@ public class EnemyController protected int currentHealth; protected EnemyState currentState; protected NavMeshAgent Agent => enemyView.Agent; - protected EnemyScriptableObject Data => enemyScriptableObject; - protected Quaternion Rotation => enemyView.transform.rotation; - protected Vector3 Position => enemyView.transform.position; + public EnemyScriptableObject Data => enemyScriptableObject; + public Quaternion Rotation => enemyView.transform.rotation; + public Vector3 Position => enemyView.transform.position; public EnemyController(EnemyScriptableObject enemyScriptableObject) diff --git a/Assets/Scripts/Enemy/OnePunchMan/OnePunchManController.cs b/Assets/Scripts/Enemy/OnePunchMan/OnePunchManController.cs index ecad5b56..1b9269c5 100644 --- a/Assets/Scripts/Enemy/OnePunchMan/OnePunchManController.cs +++ b/Assets/Scripts/Enemy/OnePunchMan/OnePunchManController.cs @@ -7,108 +7,37 @@ namespace StatePattern.Enemy { public class OnePunchManController : EnemyController { - private bool isIdle; - private bool isRotating; - private bool isShooting; - private float idleTimer; - private float shootTimer; - private float targetRotation; - private PlayerController target; - - + private OnePunchManStateMachine stateMachine; public OnePunchManController(EnemyScriptableObject enemyScriptableObject) : base(enemyScriptableObject) { enemyView.SetController(this); - InitializeVariables(); + createSateMachine(); + stateMachine.ChangeState(OnePunchManState.IDLE); } - private void InitializeVariables() - { - isIdle = true; - isRotating = false; - isShooting = false; - idleTimer = enemyScriptableObject.IdleTime; - shootTimer = enemyScriptableObject.RateOfFire; - } + + private void createSateMachine() => stateMachine = new OnePunchManStateMachine(this); public override void UpdateEnemy() { if (currentState == EnemyState.DEACTIVE) return; - if(isIdle && !isRotating && !isShooting) - { - idleTimer -= Time.deltaTime; - if(idleTimer <= 0) - { - isIdle = false; - isRotating = true; - targetRotation = (Rotation.eulerAngles.y + 180) % 360; - } - } - - if(!isIdle && isRotating && !isShooting) - { - SetRotation(CalculateRotation()); - if(IsRotationComplete()) - { - isIdle = true; - isRotating = false; - ResetTimer(); - } - } - - if(!isIdle && !isRotating && isShooting) - { - Quaternion desiredRotation = CalculateRotationTowardsPlayer(); - SetRotation(RotateTowards(desiredRotation)); - - if(IsFacingPlayer(desiredRotation)) - { - shootTimer -= Time.deltaTime; - if (shootTimer <= 0) - { - shootTimer = enemyScriptableObject.RateOfFire; - Shoot(); - } - } - - } + stateMachine.Update(); } - private void ResetTimer() => idleTimer = enemyScriptableObject.IdleTime; - - private Vector3 CalculateRotation() => Vector3.up * Mathf.MoveTowardsAngle(Rotation.eulerAngles.y, targetRotation, enemyScriptableObject.RotationSpeed * Time.deltaTime); - - private bool IsRotationComplete() => Mathf.Abs(Mathf.Abs(Rotation.eulerAngles.y) - Mathf.Abs(targetRotation)) < Data.RotationThreshold; - - private bool IsFacingPlayer(Quaternion desiredRotation) => Quaternion.Angle(Rotation, desiredRotation) < Data.RotationThreshold; - - private Quaternion CalculateRotationTowardsPlayer() - { - Vector3 directionToPlayer = target.Position - Position; - directionToPlayer.y = 0f; - return Quaternion.LookRotation(directionToPlayer, Vector3.up); - } - - private Quaternion RotateTowards(Quaternion desiredRotation) => Quaternion.LerpUnclamped(Rotation, desiredRotation, enemyScriptableObject.RotationSpeed / 30 * Time.deltaTime); + public override void PlayerEnteredRange(PlayerController targetToSet) { base.PlayerEnteredRange(targetToSet); - isIdle = false; - isRotating = false; - isShooting = true; - target = targetToSet; - shootTimer = 0; + stateMachine.ChangeState(OnePunchManState.SHOOTING); } public override void PlayerExitedRange() { - isIdle = true; - isRotating = false; - isShooting = false; + stateMachine.ChangeState(OnePunchManState.IDLE); } } } \ No newline at end of file diff --git a/Assets/Scripts/State.meta b/Assets/Scripts/State.meta new file mode 100644 index 00000000..833e61de --- /dev/null +++ b/Assets/Scripts/State.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 097b12c6a18dcc341bb84698011dd9e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/IdleState.cs b/Assets/Scripts/State/IdleState.cs new file mode 100644 index 00000000..59295376 --- /dev/null +++ b/Assets/Scripts/State/IdleState.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using StatePattern.Enemy; +using UnityEngine; +using StatePattern.State; + +public class IdleState : IState +{ + public OnePunchManController Owner { get; set; } + private OnePunchManStateMachine stateMachine; + private float timer; + + public IdleState(OnePunchManStateMachine stateMachine) + { + this.stateMachine = stateMachine; + } + + public void OnStateEnter() => ResetTimer(); + + public void OnStateExit() => timer = 0; + + public void Update() + { + timer -= Time.deltaTime; + if(timer <= 0) + { + stateMachine.ChangeState(OnePunchManState.ROTATING); + } + } + + + public void ResetTimer() => timer = Owner.Data.IdleTime; +} diff --git a/Assets/Scripts/State/IdleState.cs.meta b/Assets/Scripts/State/IdleState.cs.meta new file mode 100644 index 00000000..d090da6c --- /dev/null +++ b/Assets/Scripts/State/IdleState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a6bb51c58b95bf04a99b7526c02c343e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/Interface.meta b/Assets/Scripts/State/Interface.meta new file mode 100644 index 00000000..fdcd13c2 --- /dev/null +++ b/Assets/Scripts/State/Interface.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1fc1576d1fbbac4086a8eacef3b40c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/Interface/IState.cs b/Assets/Scripts/State/Interface/IState.cs new file mode 100644 index 00000000..ac4be215 --- /dev/null +++ b/Assets/Scripts/State/Interface/IState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using StatePattern.Enemy; +using UnityEngine; + +namespace StatePattern.State +{ + public interface IState + { + public OnePunchManController Owner { get; set; } + + public void OnStateEnter(); + + public void Update(); + public void OnStateExit(); + } +} + diff --git a/Assets/Scripts/State/Interface/IState.cs.meta b/Assets/Scripts/State/Interface/IState.cs.meta new file mode 100644 index 00000000..a9f969ca --- /dev/null +++ b/Assets/Scripts/State/Interface/IState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca3f3a675a69e6645950ab0773bbdec0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/OnePunchManState.meta b/Assets/Scripts/State/OnePunchManState.meta new file mode 100644 index 00000000..4492e87d --- /dev/null +++ b/Assets/Scripts/State/OnePunchManState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44b7f8ecc7a32f84ab2bc1920057d957 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs b/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs new file mode 100644 index 00000000..c965a062 --- /dev/null +++ b/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs @@ -0,0 +1,6 @@ +public enum OnePunchManState +{ + IDLE, + ROTATING, + SHOOTING +} diff --git a/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs.meta b/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs.meta new file mode 100644 index 00000000..fd8cc73c --- /dev/null +++ b/Assets/Scripts/State/OnePunchManState/OnePuchManState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c718db7bc27f6e4448f7443bb66717f1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs b/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs new file mode 100644 index 00000000..0bc50fa2 --- /dev/null +++ b/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using StatePattern.Enemy; +using StatePattern.State; +using UnityEngine; + +public class OnePunchManStateMachine +{ + private OnePunchManController Owner; + private IState currentState; + + protected Dictionary states = new Dictionary(); + + public OnePunchManStateMachine(OnePunchManController owner) + { + this.Owner = owner; + CreateStates(); + SetOwner(); + } + + private void CreateStates() + { + states.Add(OnePunchManState.IDLE,new IdleState(this)); + states.Add(OnePunchManState.ROTATING, new RotatingState(this)); + states.Add(OnePunchManState.SHOOTING, new ShootingState(this)); + } + + private void SetOwner() + { + foreach(IState state in states.Values) + { + state.Owner = Owner; + } + } + + public void Update() => currentState.Update(); + + protected void ChangeState(IState newState) + { + currentState?.OnStateExit(); + currentState = newState; + currentState?.OnStateEnter(); + } + + public void ChangeState(OnePunchManState newState) => ChangeState(states[newState]); +} diff --git a/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs.meta b/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs.meta new file mode 100644 index 00000000..68347e33 --- /dev/null +++ b/Assets/Scripts/State/OnePunchManState/OnePunchManStateMachine.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a32bafe9ff7e664b95a6ef69de18d1f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/RotatingState.cs b/Assets/Scripts/State/RotatingState.cs new file mode 100644 index 00000000..9e70bf86 --- /dev/null +++ b/Assets/Scripts/State/RotatingState.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using StatePattern.Enemy; +using UnityEngine; +using StatePattern.State; + +public class RotatingState : IState +{ + public OnePunchManController Owner { get; set; } + private OnePunchManStateMachine stateMachine; + private float targetRotation; + + public RotatingState(OnePunchManStateMachine stateMachine) + { + this.stateMachine = stateMachine; + } + + public void OnStateEnter() + { + targetRotation = (Owner.Rotation.eulerAngles.y + 180) % 360; + } + + public void OnStateExit() + { + targetRotation = 0; + } + + public void Update() + { + Owner.SetRotation(CalculateRotation()); + if(IsRotationComplete()) + { + stateMachine.ChangeState(OnePunchManState.IDLE); + } + } + + private Vector3 CalculateRotation() => Vector3.up * Mathf.MoveTowardsAngle(Owner.Rotation.eulerAngles.y, targetRotation, Owner.Data.RotationSpeed * Time.deltaTime); + + private bool IsRotationComplete() => Mathf.Abs(Mathf.Abs(Owner.Rotation.eulerAngles.y) - Mathf.Abs(targetRotation)) < Owner.Data.RotationThreshold; +} diff --git a/Assets/Scripts/State/RotatingState.cs.meta b/Assets/Scripts/State/RotatingState.cs.meta new file mode 100644 index 00000000..527cba30 --- /dev/null +++ b/Assets/Scripts/State/RotatingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e17404af35d65e4b929dc4ed3399197 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/State/ShootingState.cs b/Assets/Scripts/State/ShootingState.cs new file mode 100644 index 00000000..2268846a --- /dev/null +++ b/Assets/Scripts/State/ShootingState.cs @@ -0,0 +1,58 @@ +using StatePattern.Main; +using StatePattern.Player; +using StatePattern.State; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace StatePattern.Enemy +{ + public class ShootingState : IState + { + public OnePunchManController Owner { get; set; } + private OnePunchManStateMachine stateMachine; + private PlayerController target; + private float shootTimer; + + public ShootingState(OnePunchManStateMachine stateMachine) => this.stateMachine = stateMachine; + + public void OnStateEnter() + { + SetTarget(); + shootTimer = 0; + } + + public void Update() + { + Quaternion desiredRotation = CalculateRotationTowardsPlayer(); + Owner.SetRotation(RotateTowards(desiredRotation)); + + if (IsRotationComplete(desiredRotation)) + { + shootTimer -= Time.deltaTime; + if (shootTimer <= 0) + { + ResetTimer(); + Owner.Shoot(); + } + } + } + + public void OnStateExit() => target = null; + + private void SetTarget() => target = GameService.Instance.PlayerService.GetPlayer(); + + private Quaternion CalculateRotationTowardsPlayer() + { + Vector3 directionToPlayer = target.Position - Owner.Position; + directionToPlayer.y = 0f; + return Quaternion.LookRotation(directionToPlayer, Vector3.up); + } + + private Quaternion RotateTowards(Quaternion desiredRotation) => Quaternion.LerpUnclamped(Owner.Rotation, desiredRotation, Owner.Data.RotationSpeed / 30 * Time.deltaTime); + + private bool IsRotationComplete(Quaternion desiredRotation) => Quaternion.Angle(Owner.Rotation, desiredRotation) < Owner.Data.RotationThreshold; + + private void ResetTimer() => shootTimer = Owner.Data.RateOfFire; + } +} \ No newline at end of file diff --git a/Assets/Scripts/State/ShootingState.cs.meta b/Assets/Scripts/State/ShootingState.cs.meta new file mode 100644 index 00000000..273dff14 --- /dev/null +++ b/Assets/Scripts/State/ShootingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab6eb4e521299a748a758334480de7a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index 50664a98..e31b912b 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,17 +1,18 @@ { "dependencies": { "com.unity.2d.sprite": "1.0.0", - "com.unity.collab-proxy": "2.0.1", + "com.unity.ai.navigation": "1.1.5", + "com.unity.collab-proxy": "2.7.1", "com.unity.feature.development": "1.0.1", - "com.unity.ide.rider": "3.0.18", - "com.unity.ide.visualstudio": "2.0.17", + "com.unity.ide.rider": "3.0.34", + "com.unity.ide.visualstudio": "2.0.22", "com.unity.ide.vscode": "1.2.5", - "com.unity.postprocessing": "3.2.2", - "com.unity.test-framework": "1.1.31", - "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.6.4", + "com.unity.postprocessing": "3.4.0", + "com.unity.test-framework": "1.1.33", + "com.unity.textmeshpro": "3.0.7", + "com.unity.timeline": "1.7.6", "com.unity.ugui": "1.0.0", - "com.unity.visualscripting": "1.8.0", + "com.unity.visualscripting": "1.9.4", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index c6bec04f..13cceda0 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -6,8 +6,17 @@ "source": "builtin", "dependencies": {} }, + "com.unity.ai.navigation": { + "version": "1.1.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.ai": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.collab-proxy": { - "version": "2.0.1", + "version": "2.7.1", "depth": 0, "source": "registry", "dependencies": {}, @@ -32,17 +41,17 @@ "depth": 0, "source": "builtin", "dependencies": { - "com.unity.ide.visualstudio": "2.0.17", - "com.unity.ide.rider": "3.0.18", + "com.unity.ide.visualstudio": "2.0.22", + "com.unity.ide.rider": "3.0.34", "com.unity.ide.vscode": "1.2.5", "com.unity.editorcoroutines": "1.0.0", - "com.unity.performance.profile-analyzer": "1.2.2", - "com.unity.test-framework": "1.1.31", - "com.unity.testtools.codecoverage": "1.2.2" + "com.unity.performance.profile-analyzer": "1.2.3", + "com.unity.test-framework": "1.1.33", + "com.unity.testtools.codecoverage": "1.2.6" } }, "com.unity.ide.rider": { - "version": "3.0.18", + "version": "3.0.34", "depth": 0, "source": "registry", "dependencies": { @@ -51,7 +60,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.17", + "version": "2.0.22", "depth": 0, "source": "registry", "dependencies": { @@ -67,14 +76,14 @@ "url": "https://packages.unity.com" }, "com.unity.performance.profile-analyzer": { - "version": "1.2.2", + "version": "1.2.3", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.postprocessing": { - "version": "3.2.2", + "version": "3.4.0", "depth": 0, "source": "registry", "dependencies": { @@ -83,14 +92,14 @@ "url": "https://packages.unity.com" }, "com.unity.settings-manager": { - "version": "1.0.3", + "version": "2.0.1", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.test-framework": { - "version": "1.1.31", + "version": "1.1.33", "depth": 0, "source": "registry", "dependencies": { @@ -101,7 +110,7 @@ "url": "https://packages.unity.com" }, "com.unity.testtools.codecoverage": { - "version": "1.2.2", + "version": "1.2.6", "depth": 1, "source": "registry", "dependencies": { @@ -111,7 +120,7 @@ "url": "https://packages.unity.com" }, "com.unity.textmeshpro": { - "version": "3.0.6", + "version": "3.0.7", "depth": 0, "source": "registry", "dependencies": { @@ -120,13 +129,13 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.6.4", + "version": "1.7.6", "depth": 0, "source": "registry", "dependencies": { + "com.unity.modules.audio": "1.0.0", "com.unity.modules.director": "1.0.0", "com.unity.modules.animation": "1.0.0", - "com.unity.modules.audio": "1.0.0", "com.unity.modules.particlesystem": "1.0.0" }, "url": "https://packages.unity.com" @@ -141,7 +150,7 @@ } }, "com.unity.visualscripting": { - "version": "1.8.0", + "version": "1.9.4", "depth": 0, "source": "registry", "dependencies": { @@ -282,17 +291,6 @@ "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.uielementsnative": "1.0.0" - } - }, - "com.unity.modules.uielementsnative": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", diff --git a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json index ad11087f..3c7b4c18 100644 --- a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json +++ b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json @@ -1,6 +1,4 @@ { - "m_Name": "Settings", - "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json", "m_Dictionary": { "m_DictionaryValues": [] } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index a7c3134a..3be38db5 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -3,7 +3,7 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 24 + serializedVersion: 26 productGUID: e890dcc303062194d92760c678b897f1 AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 @@ -48,14 +48,16 @@ PlayerSettings: defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 m_ActiveColorSpace: 1 + unsupportedMSAAFallback: 0 + m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 1 allowedAutorotateToPortraitUpsideDown: 1 allowedAutorotateToLandscapeRight: 1 @@ -74,6 +76,7 @@ PlayerSettings: androidMinimumWindowWidth: 400 androidMinimumWindowHeight: 300 androidFullscreenMode: 1 + androidAutoRotationBehavior: 1 defaultIsNativeResolution: 1 macRetinaSupport: 1 runInBackground: 1 @@ -81,10 +84,12 @@ PlayerSettings: muteOtherAudioSources: 0 Prepare IOS For Recording: 0 Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 deferSystemGesturesMode: 0 hideHomeButton: 0 submitAnalytics: 1 usePlayerLog: 1 + dedicatedServerOptimizations: 0 bakeCollisionMeshes: 0 forceSingleInstance: 0 useFlipModelSwapchain: 1 @@ -119,8 +124,12 @@ PlayerSettings: switchNVNShaderPoolsGranularity: 33554432 switchNVNDefaultPoolsGranularity: 16777216 switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 switchNVNMaxPublicTextureIDCount: 0 switchNVNMaxPublicSamplerIDCount: 0 + switchNVNGraphicsFirmwareMemory: 32 + switchMaxWorkerMultiple: 8 stadiaPresentMode: 0 stadiaTargetFramerate: 0 vulkanNumSwapchainBuffers: 3 @@ -128,12 +137,9 @@ PlayerSettings: vulkanEnablePreTransform: 1 vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 + loadStoreDebugModeEnabled: 0 + visionOSBundleVersion: 1.0 + tvOSBundleVersion: 1.0 bundleVersion: 0.1 preloadedAssets: [] metroInputSource: 0 @@ -146,8 +152,9 @@ PlayerSettings: isWsaHolographicRemotingEnabled: 0 enableFrameTimingStats: 0 enableOpenGLProfilerGPURecorders: 1 + allowHDRDisplaySupport: 0 useHDRDisplay: 0 - D3DHDRBitDepth: 0 + hdrBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 @@ -157,6 +164,7 @@ PlayerSettings: applicationIdentifier: {} buildNumber: Standalone: 0 + VisionOS: 0 iPhone: 0 tvOS: 0 overrideDefaultApplicationIdentifier: 0 @@ -174,12 +182,17 @@ PlayerSettings: APKExpansionFiles: 0 keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 11.0 + iOSSimulatorArchitecture: 0 + iOSTargetOSVersionString: 12.0 tvOSSdkVersion: 0 + tvOSSimulatorArchitecture: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 11.0 + tvOSTargetOSVersionString: 12.0 + VisionOSSdkVersion: 0 + VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 @@ -222,13 +235,16 @@ PlayerSettings: iOSMetalForceHardShadows: 0 metalEditorSupport: 1 metalAPIValidation: 1 + metalCompileShaderBinary: 0 iOSRenderExtraFrameOnPause: 0 iosCopyPluginsCodeInsteadOfSymlink: 0 appleDeveloperTeamID: iOSManualSigningProvisioningProfileID: tvOSManualSigningProvisioningProfileID: + VisionOSManualSigningProvisioningProfileID: iOSManualSigningProvisioningProfileType: 0 tvOSManualSigningProvisioningProfileType: 0 + VisionOSManualSigningProvisioningProfileType: 0 appleEnableAutomaticSigning: 0 iOSRequireARKit: 0 iOSAutomaticallyDetectAndAddCapabilities: 1 @@ -243,6 +259,7 @@ PlayerSettings: useCustomLauncherGradleManifest: 0 useCustomBaseGradleTemplate: 0 useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: 1 AndroidTargetDevices: 0 @@ -250,6 +267,7 @@ PlayerSettings: androidSplashScreen: {fileID: 0} AndroidKeystoreName: AndroidKeyaliasName: + AndroidEnableArmv9SecurityFeatures: 0 AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 @@ -263,7 +281,6 @@ PlayerSettings: banner: {fileID: 0} androidGamepadSupportLevel: 0 chromeosInputEmulation: 1 - AndroidMinifyWithR8: 0 AndroidMinifyRelease: 0 AndroidMinifyDebug: 0 AndroidValidateAppBundleSize: 1 @@ -447,7 +464,9 @@ PlayerSettings: m_EncodingQuality: 1 - m_BuildTarget: tvOS m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: [] m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] m_BuildTargetNormalMapEncoding: - m_BuildTarget: Android m_Encoding: 1 @@ -468,6 +487,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -475,10 +495,11 @@ PlayerSettings: switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 - switchUseGOLDLinker: 0 + switchEnableFileSystemTrace: 0 switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: + switchCompilerFlags: switchTitleNames_0: switchTitleNames_1: switchTitleNames_2: @@ -604,7 +625,7 @@ PlayerSettings: switchSocketBufferEfficiency: 4 switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 + switchDisableHTCSPlayerConnection: 0 switchUseNewStyleFilepaths: 0 switchUseLegacyFmodPriorities: 1 switchUseMicroSleepForYield: 1 @@ -694,6 +715,7 @@ PlayerSettings: webGLMemorySize: 16 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 webGLDataCaching: 1 webGLDebugSymbols: 0 webGLEmscriptenArgs: @@ -706,6 +728,12 @@ PlayerSettings: webGLLinkerTarget: 1 webGLThreadsSupport: 0 webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 webGLPowerPreference: 2 scriptingDefineSymbols: Android: UNITY_POST_PROCESSING_STACK_V2 @@ -715,8 +743,10 @@ PlayerSettings: Nintendo Switch: UNITY_POST_PROCESSING_STACK_V2 PS4: UNITY_POST_PROCESSING_STACK_V2 PS5: UNITY_POST_PROCESSING_STACK_V2 + QNX: UNITY_POST_PROCESSING_STACK_V2 Stadia: UNITY_POST_PROCESSING_STACK_V2 Standalone: UNITY_POST_PROCESSING_STACK_V2 + VisionOS: UNITY_POST_PROCESSING_STACK_V2 WebGL: UNITY_POST_PROCESSING_STACK_V2 Windows Store Apps: UNITY_POST_PROCESSING_STACK_V2 XboxOne: UNITY_POST_PROCESSING_STACK_V2 @@ -725,6 +755,7 @@ PlayerSettings: platformArchitecture: {} scriptingBackend: {} il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} managedStrippingLevel: EmbeddedLinux: 1 GameCoreScarlett: 1 @@ -743,12 +774,9 @@ PlayerSettings: suppressCommonWarnings: 1 allowUnsafeCode: 0 useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 - selectedPlatform: 0 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 - assemblyVersionValidation: 1 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 @@ -774,6 +802,7 @@ PlayerSettings: metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} metroSplashScreenUseBackgroundColor: 0 + syncCapabilities: 0 platformCapabilities: {} metroTargetDeviceFamilies: {} metroFTAName: @@ -821,6 +850,11 @@ PlayerSettings: luminVersion: m_VersionCode: 1 m_VersionName: + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: apiCompatibilityLevel: 6 activeInputHandler: 0 windowsGamepadBackendHint: 0 @@ -831,6 +865,7 @@ PlayerSettings: organizationId: cloudEnabled: 0 legacyClampBlendShapeWeights: 0 - playerDataPath: - forceSRGBBlit: 1 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index bca3d022..75f98097 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.3.21f1 -m_EditorVersionWithRevision: 2021.3.21f1 (1b156197d683) +m_EditorVersion: 2022.3.60f1 +m_EditorVersionWithRevision: 2022.3.60f1 (5f63fdee6d95) diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config deleted file mode 100644 index e69de29b..00000000