From 0a1cecfb4abdf2b233c1582645c094d928733a05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C5=A1a=20Ceviel?= Date: Sat, 7 Feb 2026 13:34:37 +0300 Subject: [PATCH] added boss (final commit) --- Assets/Code/Gameplay/BossTrigger.cs | 23 + Assets/Code/Gameplay/BossTrigger.cs.meta | 3 + Assets/Code/Gameplay/Enemies/Boss.cs | 289 +++++++++ Assets/Code/Gameplay/Enemies/Boss.cs.meta | 3 + .../Gameplay/Enemies/FeatherProjectile.cs | 41 ++ .../Enemies/FeatherProjectile.cs.meta | 3 + Assets/Code/UI/GameplayControllerFirst.cs | 5 +- Assets/Code/UI/GameplayControllerSecond.cs | 48 +- Assets/Code/UI/MainMenuController.cs | 2 +- .../Demigiant/DOTween/DOTween.XML.meta | 2 +- Assets/Plugins/Demigiant/DOTween/DOTween.dll | Bin 177664 -> 177664 bytes .../Demigiant/DOTween/DOTween.dll.meta | 2 +- .../DOTween/Editor/DOTweenEditor.XML | 21 + .../DOTween/Editor/DOTweenEditor.XML.meta | 2 +- .../DOTween/Editor/DOTweenEditor.dll | Bin 70656 -> 66560 bytes .../DOTween/Editor/DOTweenEditor.dll.meta | 2 +- .../Editor/DOTweenUpgradeManager.XML.meta | 2 +- .../DOTween/Editor/Imgs/DOTweenIcon.png.meta | 2 +- .../Editor/Imgs/DOTweenMiniIcon.png.meta | 2 +- .../DOTween/Editor/Imgs/Footer.png.meta | 2 +- .../DOTween/Editor/Imgs/Footer_dark.png.meta | 2 +- .../DOTween/Editor/Imgs/Header.jpg.meta | 2 +- .../DOTween/Modules/DOTweenModuleAudio.cs | 2 +- .../Modules/DOTweenModuleAudio.cs.meta | 2 +- .../Modules/DOTweenModuleEPOOutline.cs | 2 +- .../Modules/DOTweenModuleEPOOutline.cs.meta | 2 +- .../DOTween/Modules/DOTweenModulePhysics.cs | 4 +- .../Modules/DOTweenModulePhysics.cs.meta | 2 +- .../DOTween/Modules/DOTweenModulePhysics2D.cs | 4 +- .../Modules/DOTweenModulePhysics2D.cs.meta | 2 +- .../DOTween/Modules/DOTweenModuleSprite.cs | 2 +- .../Modules/DOTweenModuleSprite.cs.meta | 2 +- .../DOTween/Modules/DOTweenModuleUI.cs | 2 +- .../DOTween/Modules/DOTweenModuleUI.cs.meta | 2 +- .../DOTween/Modules/DOTweenModuleUIToolkit.cs | 113 ++++ .../Modules/DOTweenModuleUIToolkit.cs.meta | 18 + .../Modules/DOTweenModuleUnityVersion.cs.meta | 2 +- .../DOTween/Modules/DOTweenModuleUtils.cs | 14 +- .../Modules/DOTweenModuleUtils.cs.meta | 2 +- .../Plugins/Demigiant/DOTween/readme.txt.meta | 2 +- Assets/Resources/Audio/SFX/DiveSFX.mp3 | 3 + Assets/Resources/Audio/SFX/DiveSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/EagleDeathSFX.mp3 | 3 + .../Audio/SFX/EagleDeathSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/EagleHitSFX.mp3 | 3 + .../Resources/Audio/SFX/EagleHitSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/EagleSFX.mp3 | 3 + Assets/Resources/Audio/SFX/EagleSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/FeatherSFX.mp3 | 3 + .../Resources/Audio/SFX/FeatherSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/SweepSFX.mp3 | 3 + Assets/Resources/Audio/SFX/SweepSFX.mp3.meta | 23 + Assets/Resources/Audio/SFX/WinSFX.mp3 | 3 + Assets/Resources/Audio/SFX/WinSFX.mp3.meta | 23 + Assets/Resources/DOTweenSettings.asset | 1 + Assets/Resources/Prefabs.meta | 8 + Assets/Resources/Prefabs/Boss.prefab | 296 +++++++++ Assets/Resources/Prefabs/Boss.prefab.meta | 7 + Assets/Resources/Prefabs/Feather.prefab | 111 ++++ Assets/Resources/Prefabs/Feather.prefab.meta | 7 + Assets/Resources/Scenes/Gameplay2.unity | 565 ++++++++++++++++-- Assets/Resources/Sprites/Feather.png | 3 + Assets/Resources/Sprites/Feather.png.meta | 143 +++++ .../Sprites/Level1Background.png.meta | 2 +- .../Sprites/Level2Background.png.meta | 2 +- Assets/Settings/Graphics/UniversalRP.asset | 66 +- ...niversalRenderPipelineGlobalSettings.asset | 14 +- Packages/manifest.json | 2 +- Packages/packages-lock.json | 2 +- ProjectSettings/ProjectSettings.asset | 45 +- ProjectSettings/ProjectVersion.txt | 4 +- 71 files changed, 1953 insertions(+), 144 deletions(-) create mode 100644 Assets/Code/Gameplay/BossTrigger.cs create mode 100644 Assets/Code/Gameplay/BossTrigger.cs.meta create mode 100644 Assets/Code/Gameplay/Enemies/Boss.cs create mode 100644 Assets/Code/Gameplay/Enemies/Boss.cs.meta create mode 100644 Assets/Code/Gameplay/Enemies/FeatherProjectile.cs create mode 100644 Assets/Code/Gameplay/Enemies/FeatherProjectile.cs.meta create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs create mode 100644 Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs.meta create mode 100644 Assets/Resources/Audio/SFX/DiveSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/DiveSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/EagleDeathSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/EagleDeathSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/EagleHitSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/EagleHitSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/EagleSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/EagleSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/FeatherSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/FeatherSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/SweepSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/SweepSFX.mp3.meta create mode 100644 Assets/Resources/Audio/SFX/WinSFX.mp3 create mode 100644 Assets/Resources/Audio/SFX/WinSFX.mp3.meta create mode 100644 Assets/Resources/Prefabs.meta create mode 100644 Assets/Resources/Prefabs/Boss.prefab create mode 100644 Assets/Resources/Prefabs/Boss.prefab.meta create mode 100644 Assets/Resources/Prefabs/Feather.prefab create mode 100644 Assets/Resources/Prefabs/Feather.prefab.meta create mode 100644 Assets/Resources/Sprites/Feather.png create mode 100644 Assets/Resources/Sprites/Feather.png.meta diff --git a/Assets/Code/Gameplay/BossTrigger.cs b/Assets/Code/Gameplay/BossTrigger.cs new file mode 100644 index 0000000..3968027 --- /dev/null +++ b/Assets/Code/Gameplay/BossTrigger.cs @@ -0,0 +1,23 @@ +using Code.Gameplay.Player; +using UnityEngine; + +namespace Code.Gameplay +{ + public class BossTrigger: MonoBehaviour + { + private bool _triggered; + private void OnTriggerEnter2D(Collider2D other) + { + if (!other.CompareTag("Player") || _triggered) return; + + Instantiate(Resources.Load("Prefabs/Boss")); + _triggered = true; + } + + private void Update() + { + if (_triggered && FindFirstObjectByType().gameObject.transform.position.x > transform.position.x + 10) + GetComponent().isTrigger = false; + } + } +} \ No newline at end of file diff --git a/Assets/Code/Gameplay/BossTrigger.cs.meta b/Assets/Code/Gameplay/BossTrigger.cs.meta new file mode 100644 index 0000000..867f8f1 --- /dev/null +++ b/Assets/Code/Gameplay/BossTrigger.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 91d34fb33bdc44ddb5146b689aafa67f +timeCreated: 1770457564 \ No newline at end of file diff --git a/Assets/Code/Gameplay/Enemies/Boss.cs b/Assets/Code/Gameplay/Enemies/Boss.cs new file mode 100644 index 0000000..cdbd5c3 --- /dev/null +++ b/Assets/Code/Gameplay/Enemies/Boss.cs @@ -0,0 +1,289 @@ +using System; +using UnityEngine; +using Code.Gameplay.Player; +using Code.UI; +using DG.Tweening; +using Cysharp.Threading.Tasks; +using Random = UnityEngine.Random; + +namespace Code.Gameplay.Enemies +{ + public class Boss : MonoBehaviour, IEnemy + { + [SerializeField] private int _maxHealth = 200; + [SerializeField] private int _damagePerHit = 25; + + [SerializeField] private float _enrageThreshold = 0.5f; + + [SerializeField] private float _flyUpHeight = 10f; + [SerializeField] private float _flyUpSpeed = 8f; + [SerializeField] private float _diveSpeed = 18f; + + [SerializeField] private float _diveCooldown = 4f; + [SerializeField] private float _featherCooldown = 3f; + [SerializeField] private float _enragedFeatherCooldown = 1.5f; + + [SerializeField] private float _sweepSpeed = 12f; + [SerializeField] private float _sweepYOffset = -1f; + [SerializeField] private int _sweepPasses = 3; + [SerializeField] private float _sweepRange = 20f; + + [SerializeField] private Transform _player; + [SerializeField] private GameObject _featherPrefab; + + [SerializeField] private SpriteRenderer _spriteRenderer; + + [SerializeField] private AudioClip _diveSFX; + [SerializeField] private AudioClip _featherSFX; + [SerializeField] private AudioClip _sweepSFX; + [SerializeField] private AudioClip _hitSFX; + [SerializeField] private AudioClip _deathSFX; + [SerializeField] private AudioSource _audioSource; + + private int _currentHealth; + private State _currentState = State.Perching; + private float _lastDiveTime; + private float _lastFeatherTime; + private bool isEnraged => (float)_currentHealth / _maxHealth <= _enrageThreshold; + private bool _isSweeping; + private Vector3 _spawnPosition; + + private enum State + { + Perching, + Diving, + Returning, + Sweeping + } + + private void Start() + { + _currentHealth = _maxHealth; + _spawnPosition = transform.position; + if (!_player) _player = GameObject.FindWithTag("Player").transform; + } + + private void Update() + { + if (!_player) return; + + if (_currentState is State.Perching or State.Returning) + { + LookAtPlayer(); + } + + if (_currentState != State.Perching) return; + + if (isEnraged && !_isSweeping && Random.value < 0.03f) + { + SweepAttack().Forget(); + return; + } + + if (Time.time - _lastDiveTime > _diveCooldown && CanDive()) + { + DiveAttack().Forget(); + } + else if (Time.time - _lastFeatherTime > (isEnraged ? _enragedFeatherCooldown : _featherCooldown)) + { + FeatherAttack(); + } + } + + private void LookAtPlayer() + { + if (!_player) return; + var direction = _player.position.x - transform.position.x; + transform.localScale = new Vector3( + direction >= 0 ? Mathf.Abs(transform.localScale.x) : -Mathf.Abs(transform.localScale.x), + transform.localScale.y, + transform.localScale.z + ); + } + + private bool CanDive() => + _player && + Vector2.Distance(transform.position, _player.position) > 3f && + Mathf.Abs(transform.position.y - _player.position.y) < 8f; + + private async UniTaskVoid DiveAttack() + { + _currentState = State.Diving; + + if (_diveSFX && _audioSource) + _audioSource.PlayOneShot(_diveSFX); + + var startPos = transform.position; + var flyUpPos = new Vector3(startPos.x, startPos.y + _flyUpHeight, startPos.z); + + while (Vector3.Distance(transform.position, flyUpPos) > 0.1f) + { + transform.position = Vector3.MoveTowards(transform.position, flyUpPos, _flyUpSpeed * Time.deltaTime); + await UniTask.Yield(); + } + + await UniTask.Delay(TimeSpan.FromSeconds(1.2f)); + + if (_player) + { + var diveTarget = new Vector3(_player.position.x, startPos.y, startPos.z); + while (Vector3.Distance(transform.position, diveTarget) > 0.1f) + { + transform.position = Vector3.MoveTowards(transform.position, diveTarget, _diveSpeed * Time.deltaTime); + await UniTask.Yield(); + } + + if (Vector2.Distance(transform.position, _player.position) < 1.8f) + { + _player.GetComponent()?.TakeDamage(); + } + } + + _currentState = State.Returning; + ReturnToPosition(_spawnPosition); + _lastDiveTime = Time.time; + _currentState = State.Perching; + } + + private void FeatherAttack() + { + _lastFeatherTime = Time.time; + if (!_featherPrefab || !_player) return; + + if (_featherSFX && _audioSource) + _audioSource.PlayOneShot(_featherSFX); + + var facingRight = transform.localScale.x > 0; + + var angles = facingRight + ? new[] { 20f, 0f, -20f } + : new[] { 160f, 180f, 200f }; + + foreach (var angle in angles) + { + var feather = Instantiate(_featherPrefab, transform.position, Quaternion.identity); + var featherScript = feather.GetComponent(); + if (featherScript) + { + featherScript.Launch(angle); + } + } + } + + private async UniTaskVoid SweepAttack() + { + if (!_player) return; + + _isSweeping = true; + _currentState = State.Sweeping; + + if (_sweepSFX && _audioSource) + _audioSource.PlayOneShot(_sweepSFX); + + var sweepY = _player.position.y + _sweepYOffset; + var leftBound = new Vector3(_player.position.x - _sweepRange, sweepY, transform.position.z); + var rightBound = new Vector3(_player.position.x + _sweepRange, sweepY, transform.position.z); + + for (var i = 0; i < _sweepPasses; i++) + { + while (transform.position.x < rightBound.x) + { + transform.position += Vector3.right * (_sweepSpeed * Time.deltaTime); + LookAtDirection(true); + CheckPlayerCollision(); + await UniTask.Yield(); + } + + while (transform.position.x > leftBound.x) + { + transform.position += Vector3.left * (_sweepSpeed * Time.deltaTime); + LookAtDirection(false); + CheckPlayerCollision(); + await UniTask.Yield(); + } + } + + _isSweeping = false; + _currentState = State.Returning; + ReturnToPosition(_spawnPosition); + _currentState = State.Perching; + } + + private void LookAtDirection(bool right) + { + transform.localScale = new Vector3( + right ? Mathf.Abs(transform.localScale.x) : -Mathf.Abs(transform.localScale.x), + transform.localScale.y, + transform.localScale.z + ); + } + + private void ReturnToPosition(Vector3 target) + { + transform.position = Vector3.MoveTowards(transform.position, target, 10f * Time.deltaTime); + } + + private void CheckPlayerCollision() + { + if (_player && Vector2.Distance(transform.position, _player.position) < 1.8f) + { + _player.GetComponent()?.TakeDamage(); + } + } + + public void TakeDamage() + { + _currentHealth -= _damagePerHit; + + if (_hitSFX && _audioSource) + _audioSource.PlayOneShot(_hitSFX); + + BlinkHit(); + + if (_currentHealth <= 0) + { + Die(); + } + } + + private void BlinkHit() + { + if (!_spriteRenderer) return; + var originalColor = _spriteRenderer.color; + var hitColor = new Color(1f, 0.3f, 0.3f, originalColor.a); + + DOTween.Sequence() + .Append(_spriteRenderer.DOColor(hitColor, 0.1f)) + .Append(_spriteRenderer.DOColor(originalColor, 0.1f)) + .Append(_spriteRenderer.DOColor(hitColor, 0.1f)) + .Append(_spriteRenderer.DOColor(originalColor, 0.1f)) + .SetLink(gameObject); + } + + private void Die() + { + if (_deathSFX && _audioSource) + _audioSource.PlayOneShot(_deathSFX); + + enabled = false; + + if (_spriteRenderer) + { + _spriteRenderer.DOFade(0f, 2f) + .OnComplete(() => + { + var gameplayController = FindFirstObjectByType(); + gameplayController?.OnBossDefeated(); + Destroy(gameObject); + }) + .SetLink(gameObject); + } + else + { + var gameplayController = FindFirstObjectByType(); + gameplayController?.OnBossDefeated(); + Destroy(gameObject); + } + } + } +} \ No newline at end of file diff --git a/Assets/Code/Gameplay/Enemies/Boss.cs.meta b/Assets/Code/Gameplay/Enemies/Boss.cs.meta new file mode 100644 index 0000000..2cbb8f8 --- /dev/null +++ b/Assets/Code/Gameplay/Enemies/Boss.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1f7e2017ad2d4e8a9dfcb2a92ae14eec +timeCreated: 1770453614 \ No newline at end of file diff --git a/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs b/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs new file mode 100644 index 0000000..6c3d397 --- /dev/null +++ b/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs @@ -0,0 +1,41 @@ +using Code.Gameplay.Player; +using UnityEngine; + +namespace Code.Gameplay.Enemies +{ + public class FeatherProjectile : MonoBehaviour + { + [SerializeField] private float _speed = 6f; + [SerializeField] private float _lifetime = 3f; + [SerializeField] private LayerMask _playerLayer; + + private Vector2 _direction; + private float _timer; + + public void Launch(float angle) + { + var rad = angle * Mathf.Deg2Rad; + _direction = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); + + transform.rotation = Quaternion.Euler(0, 0, angle); + } + + private void Update() + { + transform.Translate(_direction * (_speed * Time.deltaTime), Space.World); + + var hit = Physics2D.OverlapCircle(transform.position, 0.4f, _playerLayer); + if (hit && hit.CompareTag("Player")) + { + hit.GetComponent()?.TakeDamage(); + Destroy(gameObject); + } + + _timer += Time.deltaTime; + if (_timer > _lifetime) + { + Destroy(gameObject); + } + } + } +} \ No newline at end of file diff --git a/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs.meta b/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs.meta new file mode 100644 index 0000000..9624646 --- /dev/null +++ b/Assets/Code/Gameplay/Enemies/FeatherProjectile.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dcf6d88618b142b6b38c021a1b66054d +timeCreated: 1770454095 \ No newline at end of file diff --git a/Assets/Code/UI/GameplayControllerFirst.cs b/Assets/Code/UI/GameplayControllerFirst.cs index 4f8e278..65b3580 100644 --- a/Assets/Code/UI/GameplayControllerFirst.cs +++ b/Assets/Code/UI/GameplayControllerFirst.cs @@ -7,7 +7,6 @@ using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using DG.Tweening; -using Unity.VisualScripting; namespace Code.UI { @@ -45,7 +44,9 @@ namespace Code.UI deathScreen.rectTransform.DOScale(1f, 0.3f) .SetEase(Ease.OutBack); - deathText.color = deathText.color.WithAlpha(0f); + var color = deathText.color; + color.a = 0; + deathText.color = color; deathText.DOFade(1f, 0.6f) .OnComplete(() => { diff --git a/Assets/Code/UI/GameplayControllerSecond.cs b/Assets/Code/UI/GameplayControllerSecond.cs index bc2ebe4..410eea4 100644 --- a/Assets/Code/UI/GameplayControllerSecond.cs +++ b/Assets/Code/UI/GameplayControllerSecond.cs @@ -7,15 +7,17 @@ using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using DG.Tweening; -using Unity.VisualScripting; namespace Code.UI { public class GameplayControllerSecond : MonoBehaviour { [SerializeField] private Image deathScreen; + [SerializeField] private Image winScreen; [SerializeField] private TMP_Text deathText; + [SerializeField] private TMP_Text winText; [SerializeField] private Button exitButton; + [SerializeField] private Button returnButton; [SerializeField] private PlayerHealth playerHealth; [SerializeField] private AudioSource audioSource; [SerializeField] private BoxCollider2D blockBorder; @@ -29,9 +31,11 @@ namespace Code.UI FindFirstObjectByType().Construct(_inputService); exitButton.onClick.AddListener(OnExitButtonPressed); + returnButton.onClick.AddListener(OnReturnButtonPressed); playerHealth.OnDied += HandleDeath; deathScreen.gameObject.SetActive(false); + winScreen.gameObject.SetActive(false); } private void HandleDeath() @@ -45,7 +49,9 @@ namespace Code.UI deathScreen.rectTransform.DOScale(1f, 0.3f) .SetEase(Ease.OutBack); - deathText.color = deathText.color.WithAlpha(0f); + var color = deathText.color; + color.a = 0; + deathText.color = color; deathText.DOFade(1f, 0.6f) .OnComplete(() => { @@ -54,6 +60,29 @@ namespace Code.UI .SetEase(Ease.InOutSine); }); } + + public void OnBossDefeated() + { + var clip = Resources.Load("Audio/SFX/WinSFX"); + audioSource.PlayOneShot(clip); + _inputService.DisableMap(ActionMapping.Gameplay); + winScreen.gameObject.SetActive(true); + + winScreen.rectTransform.localScale = Vector3.zero; + winScreen.rectTransform.DOScale(1f, 0.3f) + .SetEase(Ease.OutBack); + + var color = winText.color; + color.a = 0; + winText.color = color; + winText.DOFade(1f, 0.6f) + .OnComplete(() => + { + deathText.DOFade(0.8f, 0.5f) + .SetLoops(-1, LoopType.Yoyo) + .SetEase(Ease.InOutSine); + }); + } private void OnExitButtonPressed() { @@ -61,15 +90,18 @@ namespace Code.UI DOTween.Kill(deathText); exitButton.onClick.RemoveAllListeners(); + returnButton.onClick.RemoveAllListeners(); SceneManager.LoadScene("MainMenu"); } - - private void Update() + + private void OnReturnButtonPressed() { - if (!FindAnyObjectByType()) - { - blockBorder.gameObject.SetActive(false); - } + DOTween.Kill(winScreen.rectTransform); + DOTween.Kill(winText); + + exitButton.onClick.RemoveAllListeners(); + returnButton.onClick.RemoveAllListeners(); + SceneManager.LoadScene("MainMenu"); } } } \ No newline at end of file diff --git a/Assets/Code/UI/MainMenuController.cs b/Assets/Code/UI/MainMenuController.cs index 3d79927..e22ab7c 100644 --- a/Assets/Code/UI/MainMenuController.cs +++ b/Assets/Code/UI/MainMenuController.cs @@ -121,7 +121,7 @@ namespace Code.UI parallaxRoot.localPosition = _currentParallaxOffset; } - private void OnStartGameClicked() => FadeOutAndLoad("Gameplay2"); + private void OnStartGameClicked() => FadeOutAndLoad("Gameplay1"); private void OnExitButtonClicked() => FadeOutAndQuit(); diff --git a/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta b/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta index 0e797fe..f025076 100644 --- a/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta +++ b/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta @@ -8,4 +8,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/DOTween.XML - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/DOTween.dll b/Assets/Plugins/Demigiant/DOTween/DOTween.dll index 73235fc01a2d43cf393d9d7c897be3924bbbefeb..1216c58d53f75a662b4ec6d4be03903826309d60 100644 GIT binary patch delta 40834 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 UNH%M3bOq=@u0HlUC=l}o! delta 40727 zcmc(I3!F_=`~O;dpR@OwG0Y5Oj5%ZO*E2I`W{km%xnaiLT$mY`c%x8C7nek7_J~Be zMl%Re-a>>ZMC6hv2}zU+QIQu@h?4%#^Q?7lg;($U_WS#MJhQ&*`>f}A*4pc~*V$*E zs&@8;xgws4)E3 z0sbq@%no+vtmjD1cunncrNx>OW#QMn^P1Y@P5B!8H<^6Ry(cTvj428;#UwY1t(**r z>)J#U(}ve&OpB>P##TAilb__`k+D@y^W>j#@yOUJr+f0xx_D%4M&%4og~=`jWNeks zdGb?SJTkV*nV$Sq7mtjsa+W7Q&BY^Q*eaj*RG98kK*m;C?a9w@@yOUJYdrbqTs$(i z%GsX$OcxJ~0Sa?G6=t~Gzu@8*8lM<0U2B6OP>6E7mtjs@?}qc zfs04RR=L=df6>JoNZBg?>8Y^LrGSjB@)b{hk&8#hR{5$Y|B{PG##Xt+lYiOC8&ycz zDwldHEOshXA!Dmt=E?ul#Uo>@e9e=8#l<6It6c8Mzv|$Pm@1@fl`A|ImN*n*s*tf& zzV68{b@9m9Dpz{)%UnD%w#rqW{A-do!9=raUH@RdDS%I27n;Jq)iNL6&RA3>V@Kid zzMhcoK4RG52k#k|k)s{0q$ct)U-mw7w9ZjLiusrYZ>*}f&3sNPGj3`n02BE<;x`~4>m=*WrHAKPx*}x z@@DlLV9t@aptyQ$WG2e!`Y7uKpuC&%mnEY90zcH;P=xu%iZREYj5fz6_G(*?-JgQ_ zV_Tt2fKo<1)-ecyT7q(89?H|{D0flX+8on^OHqCdMm4rL9?jj6gK}f;U1jyyI~hT7 z_1W*KEjnuKy8rl~dhAdL>OWY9^6@rUs&nhdfju3Kr9OiyX)G~mWt(~i+YCm%+0RhF z`fLLc6Duxc)nlK;VBtwrS8D;LPmufgR5X!CjX5R;(@oN_#$TtRn_>Q#(=7ol?18#! z?8kJp+_1bw$NKDnTnzE8T+}J6z?PNWWqA~v#Sav}S1~k|oHH)F;u*a1&0%0&%co~O2 zxTXBpltL#O(hZRY*o*tICiQB@YhWbzghsRys4g1|&C(B?j7yiBS; zQQQaEYC^9OIs^zC|AUT`I&@`UAO~i)wV2ca1}j?w4*Xa$Aa6jMiF*|gbW`>|p)-K$ z1KLOE5}-gpM+k*xPU;X0=!8KqxaFh{p#Xm%^a!9x_6@s2=tn@YfVhJ0y8*HR@+Pzy zkR4D%Lazd9%1*K{Le~H_2NX}J1Gvuult$=DK)Haj6a$TZ46qHrwn`P$>QaYE9eS~E zSuv?j1vBl~53C!ZfuPw5&>hMmDEDp0sT~=h0SZLQ2F6eASO{pKf~{7+)6|Y#*#(J0 z38{P#apMVD_&ti30jkppdhvUSOeN&Q2NTMY=srT_gzED93Ef4g9v?#JFa*<;`SJ${ zwI?osKS+U|ZEz}{u|WP1RM3yjZ+9xb7okPWfR!OYki$teqoqKPDr2FBaZnIdAEkm- zc>-0z2HKCs=UtBv;qiQ&;uYb?mUO!w-<8?;GfEY3yK}EYxg-voV?c)ih43T}J5@k+ zsGOb8R(QCd!Cp^8RXblm4P4Z6eupB~p1)4+_2^x|b>Qo%fw%hYiZ5qf_y$6IBzi}| zo`xqUJFEJt5;l69IovEMR7T_gzqn z;rtv$%F}nnr}9Vn6+&wP^DGwe0EC=w5c#GgBibOjU80-_M7t!ihauW43+@R=v|n-oq!v}1 zz0n=PCX#QHR7ut)S%>7yIjFOoZC4u*!2;V|4N%$r&?}m=kJ>2>RrX1U1~R=d_kjTl zmriAUi!tXd=npDeVtWDP%WS|V+N)_i>wQ>5%d<71;Awo z{R{*DZ0d}r)1fn|tbWBxMP&!1VFK)(63as6Z(~-W-pYifEsL0K>2mW ziU5texW)q8V%ht!Ur_}#s(?ln(EeBf1C%g!jm1LL8r49f8fa7ljcTAVtO4v*sRkcH z-&fhMQ7AoYgE`(=80a6X1lzhM$hxYeQI!l$)QSB>jXcn2tFOvN`J?=)<5pkJnozM> z!B}{BX%Mu8tueM%Nkj;wTUjwbJ?@17&Q3v%Im>8*?oVc-e1_U}JB&ZjPel1?Ip*I% z>2)Pw$6$|8Q$OQ24A=__J4X6B?$mo_ThV#zTea4V$y;&9XpFN z)yOK-I#t0+SrGRW$Ya2AR-E??r2j=@p+32(m(v!?Ud)~ba(R9YRNzeNY)JnW7Xk9U zR_N?Uk~mHIvo1X+2b5M>%ejxn4&{MOgSCeFj;aYpO;orA8|#+&RM> zsxbo>RgFCXGo40jr$%e1MhmP)3#>*;6ut^_19jNI4wxU) z9vAJJwB^uF#Z9oyDoHLPxgBII%z*DSjAfJBz*5A1G+^|XRz1=Mo8`N`##9nvf6+&R@iPI z0v*0CADk2nRK+zKDHv#omDy3DcV0=fgelvsm^c*-owamji1Jj^kQ+Y-^iDYy5;5!|;Jb6#(RL5Q@&9OmCl=VtlBf;;QT zF#T4TdaO>=}KF@p?Pb;u2$(+;R+gE#0!@RsRZ>4M$UZrg2js z9DkMLp1!fZqu+?O%n0P{tPLmKJG*IM#~4!9?GIU)qp@DFFY{ErnP#gTT$bF8-b7Ol z;{iQhg5lbo2EURFrq7ql`m3ou4-Pw;l+!=?6Epj8$7Uw0a;=Ws@X2p7lVWnY|&=nTnBtI;t_1 zO$h4Wx}D-B(M}#1#aSIE@{g(vbRj)zLLhvO2>%@A>Nzz7jVQYbPwtW2$^D}y2l_h^ z77UO`IBe+T0;8$}@o?2qZb6{ciS(#tfe~zfIA&B^I=5LB7|9Mx)ThmxfX+ztb&rIN zfpDWF;l&$yCX1_oh3ArEzQ*$rLm3CLX)@O z9hlCxNtA8d2xzxNgKa*I(pjxU&l)-P8)dNH955%jQ6}?>5oVsv>Ch;LHFTo88?|N; zPE^?l&V!w3PNR-2(}~tL>dFe8=;KDEtkj9lH!5d+oyhPF>cs{-VM&UfozHs%?cXK<~Y%cpav7&-MrN$bK z4R$Yl5(Jlt{TkV^@l$NN6Ft;;DqBTp25`?eu4We!gl4;ncN#BbPudX8WY6XtYrL3E zB~%T^(JXigTj)e)Kr1BL+^kOUQnp2+eu;j;#xiz@;7pd=ePiHq_PrAY1}|s7JCQYb z1#6rr946#P1g~U?gsR!8W*Y-nu^frwasz``u`-FiY!(;1n%yPQ(VXPqHS7_IK7e4} zGT1~XY!nifRwgvJ zmj?!KVZEKm8vHIBA<@6U$~I<9kTAM!VDL6J--)cj+u1saYC!cpwp*ezp@G5gv13kT z4c-YKunC8L8FhkpvAW3uE$iMUcsGl1qK?6PSWAhfK<)RjPVfN-{HtbTLj8jGv;Go2 z4GuqHBP6N-ho7*?60HR8AbU|F9cq7&t#hE%(%?_oM-si*eq-Qg?4U$#yCC{PqBq(i zI+2_v+^ZcBo_3fC_6z=u{VY*%haSO4n3r8>Ce$?P&8_7{#e;&sV(ln%274-fci?e$ zuS64a9t}RuW)s4>kHcyGLcs++*m`&1x2yy{ufbYRDtamSTeeuDeKk{h!|B+8{G-8_ zS#7FNc_sO5@Gs0y#`#L}rQqu<$%%dsR(YWld0V~sBTf`xt;-iWQMlEg?{cDKYasuZ z6ScC2@PwwqUzCy2!5YrHNLY|lYK`JgIMF|>F}&J|?y<&k_j)F9G{V?UvscfDtO@)b zso5`aq&1Q6a-uQTBp#iPn$;{TZk*N5*Gd$ZYmBs}a7!~mb}kudP33(gI-2vWHI3gR zQB1pMty?bn_3FZ3efDxdrG9+Mp`@Z z)>?~rVwOOUgs!y~^WF}WvDRvo@JSLDcHU$yQEN|LB@xd$VeQ5DNz^Umg!K-d znk}q66nVnh*Whaz5dONri0J#8JtdrI^cRN@|PjFRxfZs)D{@(y{T;EJw4 zTkqq?Bj}+ddMFEdfS0vKZYF!LyI06VJiCoR-I_HB8OHla zln-bG-yu zJjQnrn#mr^O%JK!@dd*DoZQTiu{^a?igd^sUl28#xU%-|O#>YD#($Sj`S6*a5bjM#x8HGI586UqjL%;kF|S_s^H z9#AAS7pDviS;+fHR9!SVzzFeZN`P)O@;}<3B)$?%3E}mT~G#_qyIOIb>%&G%{YDWC2{kxhb)cR5l2CMS7*nb5qa zXk?S``Fbas)Z{ErEf?IR;(1Lj@KJ~cf%{3ttDF49FG%v6lzB~l<}E9P>NhE?oBYC8 zN%TnT_nTbj@jV3hNb4_~D9S>KHm3a4L{rX6bTsCA6K|ziPoZh6nbD88;Au6x;ZOTd zZLLC+l@50Zt|GHrXqqxhqOX8!rhG5aVBlIR&H4zUk2Py|8(z6eS z-lufwCp7i!lcB?ucO`0?bt&{QCAGicni^TAu(8TQ31gxzg-%q$?-FE8lqqbQGF_si z+<>rZC3S${(gDp=_6-y$GA%OfC8gycfw}@(sw|f%GOaLdm14Tb!4-zBRqmCjX_WDg zu=UC+37^S-C~TvWbgxi-CjYUp&B_uddMa$I(sQtbn-TV&V!2PCLFMzqb}IuU8U^Sh zwP2ih;mWF*z&i+zEV025vnY4YuIr&v^(q@rBrgQ zGPZ`DaznerzEgTjE+%(>*l9O(IP8pam*hUl`8w?uMYi1^cF7GL4!f+3m)!TE`@?>ALx;nzD3c|(r2E#etA-og z9rmj-SCT=YTf=^HL%YL%S6-G}b1=$P7djlKsIN)RY}+5Ex}n2iCUp&QVsB+u_Xz|y zVYOjq)oaTG*xVCXNzK>+FdSMJUkme6Yh~t|&h^5*)$j*}%Gd;JxQ{x@iR|IN>Rcyk z9`2_umnb^=a+tsRmP89|m&59-A39M^cmwsQM9+3F3~#7@E73Beyf8day&&P;p@rd% z)L$f;Y%2^8QcVwuVB!)B!yBvhB=QFotOiNcCZjOiszyq*GqOu~h?*pkS4Bm56ScWS zU)nE+g{t`yMT8_=4hvH|5u8E0&v3PZP&F&b7-tPvCpl2f*8`!scBNN^C#Y2qV@%a- zSNgNziRwOyS{Dxtx2w&D3T{p3N5fOqcb#ZnUGGFI!ds|*!yVlE z@GNzN6YU7kRkt~ik??VNzIsW*=;(3QHmY@mC>R~xC%moNTA~HEKH-Jx5GOhk-d?S7 zqHn@Gs+%QxBxIbmi(2bMeZsq{(T@n5&vri-UaWSKXj!>&F1%EISi%OjbK%|9YKiU+ zJr`cCZjxv+a6Qx$62&E+3-6^`Mhc_;fbLN361B-V7v5JblW1q;mGC>&F%r#eV~*&r z?i(e_&1~aqMBJ@rJTA?^MrNSeO(HKq_o#y<>XOMq2CEY!dcS+)i2KzA5|zQW=0WvM ziP`{qSluJhk4>W@hNN`gGi%gG-Fh;6r681_@iWsGq5Sqb~!<$DuuC9^X zr_gmO)pwkzPq?A(a-zJ5v1-8+!sw?N9V5o8qnzlTh>7YhCweMkvdStQnlDF8H`Hti zy(+du%u?4n(XNPUH5E1o*e$=bkF(BECpuA|@VV+Si6Y=?&r=&z3C)O*KH>A#b`p*5 zbRgnI^)4qm5wS?EbfSw9FRR8YPH2gIMcw8^!I4YUGfrfWd`;EHGWb``Mt91OT%p>X zs4Q}oTH-{5BHvJlIMJxcwdzDCnjHC-dfACyjC@Mp�k<###2-8?rNMoa6#h zeEAP*isZsl8nPeMmXceNJy1ETww7o^cCGhWwd5(+zdQODb)FO5AAL==Jd50Tx)1qXO(i7m zN`9B_cbZ$O41lGD)1x&>Zr2ZF%#QXl<&#mopI8v> zZMr7W`SK5<{Y=d!qnVj(PVN`c^-U9}2$X04A-aL-ibSiEEir*6(=@>q7skc}nNdjTmlPLTCb8l~NuPZfZOORd=#+#eHKUO(7B; z$QT0qyFE@cCML!-e7kn0xOiI`kd32{5wfs7wx@=Qt3 z3!4Wr)Y#T;!8D33G;Nohu`T&TOncK&3Az15Ob62?iS}mNVmq3kI`D5NyIj#Mwu{L& z8lrY|Jq_8zf!nJ!4Q zH*;3(-6p>|4)^n82buN}67Gk&x!)8!%yd|49?1A0cDN~et|)gP<4EiyZtl;-jyByV zxoyeDrr5_#hJ@U{DRzu$mPC6quf{%MS}W1z3MH<}H0A|Y?I*jrkBFOW8c!V7J|%97 zX`d72#!Yi`UmQ2n6gW?WwkQDxqsJGLI~ZP;@@?1*f4&p8;XnHZW>FPI4W}D-#1N^ z<+|Cs#=mcvrc1aj*%ZIqbWtL1H^qNoIS|Q#aAd8)*$P- z_|HwhEkiVxJ=c11{4rDFYXZFr=!B^kA<<_}Izt;*ydwUj$rwN+UbT1PPnnK7(cbv) z+^*V*_#aH&mZQ;~Y+Le*_eiQKbk&Wf#rnz>u&BN z6Rw+%8APJ{)P&znNv{hR2Qu;!xY;#*lq8tV!z8yYIWj>vKP?frMMP;LqV!{ zhWW#{#QH}INptf-BC$jH+nSrNNpv71%GScXYMpR#Afvf0)BN0efuIZ7a?EQb+Lr8Z z%QLs!AUJOKx8<9cOSCt0fUULpf<%`q9Vb^WNpG76NHnhanWW8b?q?@$afZDu z`I)4x=IK(C+n-6=X1=mdSlOHTYSMOd(td$18x^aPcA8s$f^aPJ5B)glfO+|+0_7$g zNjhY{LP&)6nVB6zPIS`G%t0P#IiZ>C_s++YJ~JPa=!?$ZB^`E#Hm>-mq%X`ZKSL{6 zL4zkBH7|5RzvQpn>J*WD!u*@$wk7|Rbkbb^uqepwKP88dO%e7bH}^f0FPS?Khwkq+k}sR{KNm)!fs?Pexu24J&D{PA!EHyNXx(ChK?jFb{F?xC*2K=E1qj7@^QBed#ZMr z&^Y#PL7}~wR`oq{A`+i0DYs{7 zI|%J$v8hk+Y+0x6I=Xiubf4$od@<0r9`$Xjg`7e6q7rSjaDk{2Z8g6iX#LwxwP>ex zIE$*H7M-*U5@9X6c+{du%Q%Ocq83FSE{e3S#BC=RMcN37Fwjyh;JnL2xrW`jm!qM2 zc(~}Ly(3gDSf^gv9zxho{p`K8@(W~!mhHaUc!5}c+E9C6EwNU(__(IyX!vkqKAKhiR@Y*N^s*TGmxGiaWk{?4z{q5^?)G_R-n^iS}liQy$aCOLV!yH{}U! z2O(@N_&(btj}9@3I*a4sA_u~Ul7jiOlEY_+8G*C3Jrqr~rDM;HfzN9P1!7;Mo-jSH1^j|FtY-C7GgGRyF%tQ=&PbiS`1Tubq+TvF0PK3$&jlx*w47qGq}#3jP3aq2@2qhkzDo zp%TsOnV<5KmgYoT0$TSGv`ID%u@{Uw~O(4HgoEyt$?R%r7Gje}3fd#9|_ zUX$pN(B3Jlw6`57qj$<`ZMQ^)o$pF{L;G5yPqXh&S*u-==!NdRQ{K`{@UR|^v`x0% zf$KE8Az@`0Lj2OCV=7#y_3=O_2*KkC5hGI8X|)pl7Gxm5+b0}pDJx}w}m1+39QZ9qMN@R7Si+AfLS zwEdWJNbBMYoB=N0wEdEDM6>t{)lHdd>X+I)csd{5_e*S$dQ#)?R3)Og+|$BJ3_`xb|&<+wN?uc z5~|C($EW_NO_pd(Xlm*utzTooReZIre7g6lXZrNnoRmV@Nx#^&Zdm9 z>iTqv=0W3o>1Ue=t{SE*Z~bDZKojA4$2$6wFo9OLFH5bXAC~B!py{Jej1ZjByy73J zb@k;EPAeFgT2DV2DaeJvW30Y?EaV`ss4HgiAFWL=F>o*Ez$7q!&4jTs|Zyy zznIF@ApHl)HEveNV%6iLg_XzSU+`_BuOtNB*?`BdLiK|L#R+YwUJ!$-I~ktPhU%9j z!ZX=$-4rW0Jg<$^*Gq&4v@!a(amY=8a!;qm>*jcY)+EnPwdny)#Qc)lqap>JSm=B&AXSZdlXIpik z@eh41!D==>VN>c|x+znbf!I<9>3t-^(C*VWNra(2sCURh%^9q3!nxF8I%_4$wJp7p zI!YfPkrJk*J)y61qK0Wt>SDW%!EiRwU;mNFacrRXKxLx-ORJg-Px62}kes9kWTVk> z>~r8I=^+wL_pSAwq{m3~J> z-q)G`v-$vuruvuxJs{B{a4^}!!DPKka-ZsZmC5=8H^lzM+{`wsKf>ZO5-y9Fkx%zcC&AGaNu4po>!d#aoHrWe$j3lwP zFX%1ZR9|qZg62HEi{yq|{PlTyubNt@12x%v{T??X^YsyKM&^4MS)f1ZW@Lf>yhK@b z5BV+d(0ox}>ZbXkzNzM+39`u+>iZ=1EsT?e`Zp5IgC4Qa!^k52XE)77x_6#v2-IBU zq4|;?D!Iry%>N}lQKG}XWX7BX0SM)a}8sXa#kTWuH_o}|zP4iX#Xw4RI zM+0+-enC>7SOzLf^xq_!TesGGiHDJ;dYydHNZlajrFy(XjUlk59-7PaE|S{`HkawW zB$@&?m$@{t$zId%kz@o6%-8f05`AB{ssC#(RnT0nKPkB%VX9fKPpg?RQ8w8MeZHh3 zEqj#}`Z9@5!z{GI!^rFUddYPI&DZt!Bx(%qUiZ*ksed9lI|Q~;KUU*ANjBLk{hXv2 z7+IzND$)DkZk30T)w&l%j`MaZXs*@+CHfgOS9@r_p+`%uA85Xzr%4nCfxY3<#3oy# z=Si{^OfGBmE)vy3*InaMh1|7zZ^>P^ocCI*-&1oO>OceYP5lu`z2bG=>rMShi5{qD z^M2FA$Xoh!$<+nTxAgfE9jt5fe#=91o&K8Swt(h3eSOWH&&VcQukVyp6;yA%{)t5G zp?d2*jBL=4yJ>FF&$(%C@X&l)zb3hFphLW^d$kcwy$l-nZI>oC*+#vQBpZPHje4|1 zpM&Z~mnvv((wj=IEog4i^J>zbl}+}J-c?fHL$7{E?=8_v=+*Cd7}>1fE4h!n&wFjw zACYLBug!b2hvpW2oaA!7_bOZT=`}0C9SzKP^#zhz1ChL|zb4UR&}8p=7}=_Cklatu zRk!LpC3+hcx2+zU+w>!niwAex^lv3P51QLtn%HF9^^0z*+jZVnv@WV{cd3Hr4&7IB zxVG-lLu$rOmQD7ap5jKmr)Nuq%kFy~Mt17OlA8*(-KqDHs2pm$(?j!p{XWU%!;1O7 z{%Fnb;EtMXm;RKSkzM+8Zbo)_7}>2al-z^R5WDpi5=Hwq_1~>;l;|DUj(p(M{Hgw4 zf%`rB z6B2y@?mu#BvIcvVkDQvHgL@ZuCLm|8ve!vI0Pgqdv!xj?xDou=!~Ms4Y@u-fFkG>Z z_4JzJsj><8>8&O81W^0*B8dv%itY0-vS07xW@NuUSfUo7x!*(cfc~hP%>(*)H=74s zn%L_;(Vvs#A{b+z=r2liFO0EIT&kdXP+uXrS7Cc{5GI?5X|mUSs$X!UKGm;C)E726 zpL!TMq^GtM4Z-W=_#e`9BwFX&7LfZ2`kCHYa_H_ey{zU%a7VrFus+|7I;<~|2;Cj_ zFmgn%mE58_dzB;lHHmuoHT6H@q4~Mqti1?q189D(XG`=DXnyX}#3uVfA0f$m>zw!c zLLVbhsGrUI3zsTr9@Y0t?n%%*3cG-z(`A!=si$=i{=A?=eyL|mv=1)kmmWsG(sxU) z7$W;hKPZtIBKyii^K0Fwqp*3=JIDWPy>ZQXa7RscOplWk&O^uaOo?!EIp$&HxZcH0 z^SJ&GH_hYvP(szLZusuN6MCgY@4^Y%3H@1#Y6#7i=nJDclK+%&9UK9i(BF`#7|=KR z7D9MeW@ab#y@ZbQoeA*L6#cM7y~=#~DLoYq6&XA3^Efyqu=R?q$+Cvot`BMQtiLj3naoozt>m0i~@46y^BMe-|HLPY#QI|yWEVP)(^TF zJ*{``;*6A^_Au(=(CBHsoHRwCr}Y7%90htte^??6^o+jC&E^@y!>Efyqi6JePNSTi z(ZBXU-d!;?aqxJ?qm!P|1Bn~QBFxo+XLPGXkNQ*xp3|F2^o)OX;E%e|PQs)0s{=3V z10;H@L3Q9S`hybf45$vgt{W0{Y*-zrST;#?3Xo>mCDG=<>OgPHF^Mu8RR`9yz<0Q4 z&sm362iCVFNc3Z!>cButfg#~lzv{qX%Q%UeLolJ1nG$t^U?MH6BnpRMVlCGt(!jmV zk_>$ux3!Z1*)4q}ih*F7T24vyHK67e6;9Jpb14LqWeG1a1Pp+t$+e7^q!pT`jU}~I za6KWIc9z2u4S`@fS-$8dxHb?>k)>9mcyQm%5&)kGpo<-VDlAnJ^#S+2Et4e*fR_1( zWp;O7K&szDG_bofyK7vSi7kp=;3a4v zP1LStQElUf?*07C@HVMiH9Hzo;H5UVx=i=B5||2a|yG1+H8PXWXg(HnQeT%WRJ^?SBZKIJg zq%o$y$}v#&rE*aWmA-<8QXvP;4Nk;-lnQ&6+CZ2V`3|F~FLH!YAswv4vS$!Z9fRUR zXD4J37|;oD4=;s-hH@3d9LzUC{-5<-ZX7|Non@(*|49g@*H>Vv#&Cg9I`ZMo>PVm*E6q};ghf9BG|qj5`@^((M>?@h-GR1$?je9;Ln(1rw&Mz%i% z_eCd6kEDFZY>zra=t`q>jtFNCvNZn-+R^hJ#av^-JqNEeju(?-fI){+9Q~i%;A#Tz zBc#>D<=#CMOk*kN&W5v}JF*;N1) zF4TniUo`&fjXViQzS#Y_8~vjRhvv;J+*03=yFYgax9{@yHE$M#@#m<&OrxF;(!HS^ zwfwV7v4d(tORZ-$uqXYSe9!)W8wEVZ!hf$1{U66G8k#^m9M2lKda`4P-oECa%ibX8 zul4_?ZC&9$-VL`Q3uz(}LEj#WmlgNcqAa|zZg`L@uB&hr9qoZzW;1M=ak_B7iZ{}^ zwFMXZr|HO$^HGyjoR8eM&!SG)-EK62++6>!O-;rv<|gOV^rxu*Fp0X?@5bRerdyY$ z=ucJy?qf_Wn-(E-6SWcXt;_ld?pSrS)B;9GY~GH4zGxHxxA4k?En9rY8|(6 z;cmh`-!VE|&TccufUA46x#`bS(`vfk6Lod(lDCuZKD=G}hUd7yb>DUr6Sc%0oVdvn zcMa}o#~qSuZ;0JlEOm|rkM^5}y!jHn-F*xC#{%w!Z=4oeN>^~=j!Fb~qcmz7o^J5w z=sCD;=IlkfK};vfgI%$2>WpsE<1uFg?1dCK+rc3x?j6Ktd?e(@uy2*0S!TT!5xtGWnEhN%#yMpsS0*4#X zXo40^C(>`x-JL6q@1l2g=Tc%wmeu;$L}^?$gJ zp)HrtbWh{XK)p>C`oE_k&%!urN5egh!~N?bY6{xj<&Rc$IUkNr)Bip ztbp!+zstj7?y7^b(cJxReYklV=3u_bBmW|47PP{Au@@5UaS`qVRd}bpE0l)K(ZU}! zVgC;=;QxbaUhs`n6?mKeA2lC_c@W>mj-wpym_Y|uRCJ?5KzJJH2m;#@^Hmur9c~+R zl$N$y;@<{ zGpUhjU>t(04hQ6vo(fW7sH1`o7Cue+!f{>LV*K%B7u!IbkO>`884-%eL7QOBAaf!M zT?z*#>DXNrS(9|{G6WCqQE<535S`S~Rb68Tegl-8;UM=M%p2^`|J{qhLv3)!uds1& zETzJ0(vcN8=u*rO(8Hm|W;)A;p9z3TSEnE>r0+#Hbl$8rT#h<)DB&XyB7~iL;IkVy zk9huhdy#q+bB6Wb25Q_WQdjf-?ZFv;xf%br!5RPCYy6jkGpLKXiaEO5e|ueT_p;Lb zfAit-_jEe9;0)#%93ojC!G{yguutrx zt?9Bn&$hXZj*RoaSnpkR{lA<8ocsU(Pji6bu|&Gs;5M4>f6{Ws?XTZ|OK=8lH_-Hd zx4HOFgLB*e{Cztg4DKcu6rX=^?SC8-(f{3ufc}rp;5ileOb>so3Fm_!tvHUcJvg({ z-Aq3i+3+bJu&T`YPaE7dLr{Agf6G?$_Jfo6zyEg)?zZ=Z)}{O3KV;p!vv~BC|ING! z{r@(10C3Q*z)yW)4@iI=0B06B8*}6=2G#^W_(lDOG!J+9W4Z`-3<~_L7?mX*xcSHP zA1v%JbUUX1n;`z^3;O?Gt;bTh=T+D#s4M>58Qyp=r$c58U19%#hgDSe1+9k`dJyGD zQDbN=hp)q-&bBdF!%_#}Os8}d9WkDw;dh44y)bI{W)iiNM)|kj!^Pxtvkq?j9UJZ2 zf12)9vHyRSrXcb8w)^vM_t3}a_eA2&xv25Y)7U~n-_E5R1^Dw4iw#W z+|$?@IsEJ$1}aYd#7VmQkuIK{{_(sNTl741Vd(#Z+>X&UQ@<6_xz`mQQ)!4XWsa1lu$)Ym8C*J zCg;;qf7BGtL`yiYG1T?R4z55&dW)#AIR7l92?38r6c$H)-t`a?XTQOxl?rbEjk}4AiD(;i(IO^x(e9LjXg%-qNmgi9y?SKA!zIA(ru}*(3E6&DnKdsO$ z3OpeTY0ehKE0FU7&6Uo>J>37_`uP?2$7L76M{)4jA+^?D%@;ihOF14@!-sMWv;5@d z#iFrJ=g1aZcKb0BBc0~!#%`aG?@Psx^eSIgQ>1Jcx3oC^08(L zRSbR%lR9iIoHLqP3^cyR8o(08*?;rJ{|yRVlzRS**&dYv?q%nt`3BWlhY_r z$b`yJ$3zy)U_pGIiaOD-qx^SrvH^{Gqlct#r||zmhx-5j!qC63>kYl&{C`8@|0o~k z|G&>YPHs21PxGUA{tbWd4pnb0-G|dnAE>{L(cx~#_+J_N5ABHOKiwnx4-NfkPP{!k z(Eo2V{Ql1Z!sj1uFVep!P1f(}h1L?;yNwy~0kz^^!UL^aI987X3$cAh*rN@$-0g^K>-oJG)O907P8p*9B zcZ2j}$N3QhzE5|Ab0^ytRVw7hFwm8O&6A6^-RP;DU1L6Gf~qa=5;sK|lJZWa(Z802f2LqTrK83i&LeyVmUe>d_CN|1X*uR?d?9)!+rbg^ki+7s=%{ zk|wBeJH>}&0Lc)N(Ik^d?uM3FtL}zYS*teVSo>xiYhS?ehmQC2=(wNM0uH}@tezz| zU7!?aU3g&kP*WE^CnFN%^kBQ`EWF6eZZf)XY>=}I>9Y*!QsuQaJwYj~$PD>8DZ?TC zQpS^}GIHOCWG|&Yyy9*ErH7Cl%-8kIHlu8B9zi){NY+9SYs}**J(=Vzjx8~dLZ4?) z?7b9xW8P?PgD*vo=Hs*XDg~s}iyzMS*9S|vE+PChRz8AYD{( zLEk~_JpM#UFyGCRde*V*X5l0+hmL|e^>1xAoo1u58d&D=VTqX_(;}bXb9h+T6FgJt zSCnVD2yY{_gUxXp|mV#JI*W0AvTS04~H+%weP}otB$FnevUA2}v<4~nu{Wp{yU&hy$pwkAeaDDA;m~;P>NKDn1H^K7=gzDA)}b zu^DYv0(&kMWpB_4AZr0+Er6_rDDYlJg9nhg05TB`S$0zZnFyf*NmL+-3N*t4Jc;y^ zNI#qOlSsc5g6`-QO{EH`Q~{OhLZu3*Q~{MLqf!M_${4Mrm)!3)TFEOJ2J%eBXpkFP zq0B3J$}5S?ouuCoKM4;{pI1-PkBbLTON3C3n+ccHqy^N-V|h&T(_WKEj^qVJr5b_UNM+c;&7^mfh5c z8l(#qm_-g|k%RH%;55UiXOWxJ>{7x55YXbh5#F=Ni(Hn$uP)5B3{@6Ztnn@* zYXivg019FNIUYcv3{l``e}j1huPqKWMetvW%`Ae4m0&ud1k)wCnC_X2>GK(+lVN59 z=qiq&s~7=8?wEI};#=0ys}DKD9L`Qs1x`{0%BTV-DfGthn{5M?#(Z;Gt#@NSt=vHH zd^rM3Q%u)yifOMBOb3+IdY`2F^`ZJT2GeQENvh=layEwQG=^$3o;unXs^1t2aWaKC zhDOR5YJ(wE>L3Mo5Q8%;2Pv+D1zLwHZORxe6mbyUtN6 zdzHreRT}G8Y2mrb-h$s|KT0;oQ0P~|P8#Ik;JgYmM0TC46GL`+EpQy8l<1D#|=cG)Aw14Oo?!l`CoOGDswV^f}BHT=*&O#7jS^f)p!bh5nc7g3SRrwN>GKD4=&TeK6|K2d#FkW zsps#ZD(#^v9c2dg{5@2s$z*5`jq*M4*vnm(Jv7$$z$fVULmHcI7U`TMb~JwqM)M5b zD`vRQCU9(Ko0N3>Y@gH0Lt!f*XL|4&kk|&L%GvymUbqi9imt$W8`A+;AkgtP0NFD7Ub+m)j#ST&zJ4oH?H0zhUzwSH= z?kHTQlXY>?!VA=|=wjWm{PQB8dTB~TkNWklDpk3S>&@WRp-t)y22CRlvYNy;2I)nz zUsU6IJ7_nsgLVV`X$ytsn$?>GjqJzLlpewLAzfaYU2i`%`&E+us$blwdX3fZBgfbC zS94NE)msh?{xWC|tMKI~>C&8q5MftAtrel{ZCzl%ve+o>P`$Ne;-r$78_dsAqn%WO z((I;_ls>Brsu*rMtGtx4#^)?G>{$gjCUcZ`QoMZ6vROT_TZQ**?z@^zYM1Q`8@7@T zzL~HG6gmI!JxiBnsIsFh*yk*Jx<{yKsIt6MPm?iJsoSEbsg{M6JmFi*(o3EMIWh*9 z(e#o@zPs6+u4~m9yf3`@F+#PrcnRd#f+fEG%H)`pzSop)@moPw#BBw~ed7;78sDdw zrlyyig7lhX=66kL1512}imw1iX$OgK2fs$M!Zm}g=ry{Q(JIc&*XZhAqw5-?;#rfiZ0B)gC-Q>p)#@~cGyl~Qghu7!o?5Uox%usZePC-M*Z_2L724pe&a;XP|1 zXDrN;z4$DcCHwQ;!1m|mAP1A?VE%6YQAod=|BYWMzYDf*rF-LTwDj_$Ho32AB@8MaZ#8*I|}ocL}7kq>mZO5TZd9QhSG`t zrTie&zLcMet@R$t&!i1hhVtzsucl$nK9bl%L-|C|8O>YdH1!|NtFzlTg~GF7Nhsxu zVM!Rx4@P0mDl)eXR7?3|DacMs!SqW-Imi~Z1?gLi>7e4a{+Vk3bzKi}v)0+q`)+>= z^Y@+$GQj&@e;?M+yDGrKg1jH_ha+e2ryw2TJq*|;q!~>zo-`A@M*^D!niiJqJ$K#w zqkOPGuc^_`@zzGaHo5SL)0G}=L2e{@tZ{otznF^hfW0%ws1%g%WEX>6))~`xgrRJe zgE^mc?S2c{wI^Esq6_LYAkAEogGf$kQ`!TF4@pk>&(iC>&hynugLgkv*q8hY$gjBH z9)*3)C)Rva%Nz0bHK%HMOu`ZPFyW8?g5W?FPXt{5di%e&F8xQohWEY--xO!8lHKpa z;Y_KLRYE)C->V%}%73v1@=r?sN#YT|*g^%pCqWPS3B==HEFT1auXe1-zsO^Q1%E{H zM?^FUdkhl&9))LiDb(=i*{zF|h z&RST%{;O9f30$!&q&q(A8i@^p8x;= diff --git a/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta b/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta index 4754b50..3f6ac2d 100644 --- a/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta +++ b/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta @@ -26,4 +26,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/DOTween.dll - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML index 690bfc4..b893a67 100644 --- a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML @@ -131,6 +131,27 @@ Not used as menu item anymore, but as a utility function + + Sets the modules bool values to the current defines state + + + Refreshes the enabled state of all defines + + + Applies the guiEnabled value state to each define, adding or removing them based on that + + + Removes all DOTween defines including the ones for external assets + + + Removes all legacy defines + + + Removes the define if present + + + Adds the define if it's not already present + Full major version + first minor version (ex: 2018.1f) diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta index a34b5a8..638ed09 100644 --- a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta +++ b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta @@ -8,4 +8,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll b/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll index c2d87f934f951d96c83020e8dd51cc058c5ad46e..3c804aa0ad3f6e371820e97feb19960b2184a56c 100644 GIT binary patch literal 66560 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

2%OvSVC(S!WnlTR%_{-Nt}C+D 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 a VisualElement's position (via style.translate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMove(this VisualElement target, Vector3 endValue, float duration, bool snapping = false) + { + TweenerCore t + = DOTween.To(() => target.resolvedStyle.translate, x => target.style.translate = new Translate(x.x, x.y, x.z), endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + ///

Tweens a VisualElement's position (via style.translate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMove(this VisualElement target, Vector2 endValue, float duration, bool snapping = false) + { + TweenerCore t + = DOTween.To(() => (Vector2)target.resolvedStyle.translate, x => target.style.translate = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; + } + /// Tweens a VisualElement's X position (via style.translate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveX(this VisualElement target, float endValue, float duration, bool snapping = false) + { + TweenerCore t + = DOTween.To(() => target.resolvedStyle.translate, x => target.style.translate = new Translate(x.x, x.y, x.z), new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; + } + /// Tweens a VisualElement's Y position (via style.translate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveY(this VisualElement target, float endValue, float duration, bool snapping = false) + { + TweenerCore t + = DOTween.To(() => target.resolvedStyle.translate, x => target.style.translate = new Translate(x.x, x.y, x.z), new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; + } + /// Tweens a VisualElement's Z position (via style.translate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + /// If TRUE the tween will smoothly snap all values to integers + public static TweenerCore DOMoveZ(this VisualElement target, float endValue, float duration, bool snapping = false) + { + TweenerCore t + = DOTween.To(() => target.resolvedStyle.translate, x => target.style.translate = new Translate(x.x, x.y, x.z), new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; + } + + /// Tweens a VisualElement's scale (via style.scale) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOScale(this VisualElement target, Vector2 endValue, float duration) + { + TweenerCore t + = DOTween.To(() => (Vector2)target.resolvedStyle.scale.value, x => target.style.scale = new Scale(x), endValue, duration); + t.SetTarget(target); + return t; + } + /// Tweens a VisualElement's scale (via style.scale) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DOScale(this VisualElement target, float endValue, float duration) + { + TweenerCore t + = DOTween.To(() => (Vector2)target.resolvedStyle.scale.value, x => target.style.scale = new Scale(x), new Vector2(endValue, endValue), duration); + t.SetTarget(target); + return t; + } + + /// Tweens a VisualElement's rotation (via style.rotate) to the given value. + /// Also stores the VisualElement as the tween's target so it can be used for filtered operations + /// The end value to reachThe duration of the tween + public static TweenerCore DORotate(this VisualElement target, float endValue, float duration) + { + TweenerCore t + = DOTween.To(() => target.resolvedStyle.rotate.angle.value, x => target.style.rotate = new Rotate(x), endValue, duration); + t.SetTarget(target); + return t; + } + + #endregion + + #endregion + } +} +#endif diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs.meta new file mode 100644 index 0000000..93afc72 --- /dev/null +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 0c0a6d2683fb84e4193f2aa968264881 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 27676 + packageName: DOTween (HOTween v2) + packageVersion: 1.2.790 + assetPath: Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUIToolkit.cs + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta index 6c3c674..8c2532f 100644 --- a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta @@ -12,4 +12,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs index aeccd49..5872cc7 100644 --- a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs @@ -1,4 +1,4 @@ -// Author: Daniele Giardini - http://www.demigiant.com +// Author: Daniele Giardini - http://www.demigiant.com // Created: 2018/07/13 using System; @@ -12,7 +12,7 @@ using DG.Tweening.Plugins.Options; namespace DG.Tweening { /// - /// Utility functions that deal with available Modules. + /// Utility functions that deal with available Modules and rewrite them. /// Modules defines: /// - DOTAUDIO /// - DOTPHYSICS @@ -87,7 +87,7 @@ namespace DG.Tweening // Called via DOTweenExternalCommand callback public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans) { -#if false // PHYSICS_MARKER +#if !DOTWEEN_NOPHYSICS // PHYSICS_MARKER if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot; else trans.rotation = newRot; #else @@ -98,7 +98,7 @@ namespace DG.Tweening // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached public static bool HasRigidbody2D(Component target) { -#if false // PHYSICS2D_MARKER +#if !DOTWEEN_NOPHYSICS2D // PHYSICS2D_MARKER return target.GetComponent() != null; #else return false; @@ -115,7 +115,7 @@ namespace DG.Tweening #endif public static bool HasRigidbody(Component target) { -#if false // PHYSICS_MARKER +#if !DOTWEEN_NOPHYSICS // PHYSICS_MARKER return target.GetComponent() != null; #else return false; @@ -131,7 +131,7 @@ namespace DG.Tweening ){ TweenerCore t = null; bool rBodyFoundAndTweened = false; -#if false // PHYSICS_MARKER +#if !DOTWEEN_NOPHYSICS // PHYSICS_MARKER if (tweenRigidbody) { Rigidbody rBody = target.GetComponent(); if (rBody != null) { @@ -142,7 +142,7 @@ namespace DG.Tweening } } #endif -#if false // PHYSICS2D_MARKER +#if !DOTWEEN_NOPHYSICS2D // PHYSICS2D_MARKER if (!rBodyFoundAndTweened && tweenRigidbody) { Rigidbody2D rBody2D = target.GetComponent(); if (rBody2D != null) { diff --git a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta index f92deb9..e6400c2 100644 --- a/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta +++ b/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta @@ -12,4 +12,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Plugins/Demigiant/DOTween/readme.txt.meta b/Assets/Plugins/Demigiant/DOTween/readme.txt.meta index a1ba904..b333136 100644 --- a/Assets/Plugins/Demigiant/DOTween/readme.txt.meta +++ b/Assets/Plugins/Demigiant/DOTween/readme.txt.meta @@ -8,4 +8,4 @@ AssetOrigin: packageName: DOTween (HOTween v2) packageVersion: 1.2.790 assetPath: Assets/Plugins/Demigiant/DOTween/readme.txt - uploadId: 831234 + uploadId: 858678 diff --git a/Assets/Resources/Audio/SFX/DiveSFX.mp3 b/Assets/Resources/Audio/SFX/DiveSFX.mp3 new file mode 100644 index 0000000..49ba527 --- /dev/null +++ b/Assets/Resources/Audio/SFX/DiveSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26f663588c9716feb76d18d4181dbcc66665a7851d98e43727c04aa2d8119c24 +size 67709 diff --git a/Assets/Resources/Audio/SFX/DiveSFX.mp3.meta b/Assets/Resources/Audio/SFX/DiveSFX.mp3.meta new file mode 100644 index 0000000..7b6e85e --- /dev/null +++ b/Assets/Resources/Audio/SFX/DiveSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 87098722c28d2aeaa961046530f4c78d +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3 b/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3 new file mode 100644 index 0000000..b6aeca8 --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a91648f0554a8489d249d8de791e473b8be1262ea19267a21ecb479f35211244 +size 163584 diff --git a/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3.meta b/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3.meta new file mode 100644 index 0000000..9638f9b --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleDeathSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d8f8b2d8f62b971bf94926f33d168558 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/EagleHitSFX.mp3 b/Assets/Resources/Audio/SFX/EagleHitSFX.mp3 new file mode 100644 index 0000000..cf2918b --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleHitSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f738148b2b4ce4c1b802fa1175d1c036da0ae2327be5a647f4fec88f6853bd17 +size 18390 diff --git a/Assets/Resources/Audio/SFX/EagleHitSFX.mp3.meta b/Assets/Resources/Audio/SFX/EagleHitSFX.mp3.meta new file mode 100644 index 0000000..68d968d --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleHitSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 211ced45c2be848269243a3084de3b54 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/EagleSFX.mp3 b/Assets/Resources/Audio/SFX/EagleSFX.mp3 new file mode 100644 index 0000000..174ec37 --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90b616ac6634b19af5d2c89960f1b231f9c9318aaa307901aeef7c8b41867471 +size 478080 diff --git a/Assets/Resources/Audio/SFX/EagleSFX.mp3.meta b/Assets/Resources/Audio/SFX/EagleSFX.mp3.meta new file mode 100644 index 0000000..5e489d7 --- /dev/null +++ b/Assets/Resources/Audio/SFX/EagleSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: db267c7e2e4e9b88194b31196d2d01b4 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/FeatherSFX.mp3 b/Assets/Resources/Audio/SFX/FeatherSFX.mp3 new file mode 100644 index 0000000..c45ba57 --- /dev/null +++ b/Assets/Resources/Audio/SFX/FeatherSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2451f11e7a2e0f9333b0850f8d7fd1032f0a092bc9bd2a4fec24eb22e3f01350 +size 33959 diff --git a/Assets/Resources/Audio/SFX/FeatherSFX.mp3.meta b/Assets/Resources/Audio/SFX/FeatherSFX.mp3.meta new file mode 100644 index 0000000..0c3e4bf --- /dev/null +++ b/Assets/Resources/Audio/SFX/FeatherSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 42ff16e3c732ab687b10810d0a8462ae +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/SweepSFX.mp3 b/Assets/Resources/Audio/SFX/SweepSFX.mp3 new file mode 100644 index 0000000..4fe2d13 --- /dev/null +++ b/Assets/Resources/Audio/SFX/SweepSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db876694622ca827f5bec874f4fa6f3fbeed469b3637ebfa4f673f23bca5dbe8 +size 68545 diff --git a/Assets/Resources/Audio/SFX/SweepSFX.mp3.meta b/Assets/Resources/Audio/SFX/SweepSFX.mp3.meta new file mode 100644 index 0000000..66720e7 --- /dev/null +++ b/Assets/Resources/Audio/SFX/SweepSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f121f8bd1db697c8094de7c977ce5c44 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audio/SFX/WinSFX.mp3 b/Assets/Resources/Audio/SFX/WinSFX.mp3 new file mode 100644 index 0000000..3fce5c0 --- /dev/null +++ b/Assets/Resources/Audio/SFX/WinSFX.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:949000c984bfb154ffd774722fdd6788be970eb220104a6184c8d19d6d8db0c3 +size 326844 diff --git a/Assets/Resources/Audio/SFX/WinSFX.mp3.meta b/Assets/Resources/Audio/SFX/WinSFX.mp3.meta new file mode 100644 index 0000000..4ac7522 --- /dev/null +++ b/Assets/Resources/Audio/SFX/WinSFX.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 61e843ef7440be8f08b6d81290cbf6b6 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/DOTweenSettings.asset b/Assets/Resources/DOTweenSettings.asset index 67c9129..7ba807d 100644 --- a/Assets/Resources/DOTweenSettings.asset +++ b/Assets/Resources/DOTweenSettings.asset @@ -44,6 +44,7 @@ MonoBehaviour: physics2DEnabled: 0 spriteEnabled: 1 uiEnabled: 1 + uiToolkitEnabled: 0 textMeshProEnabled: 0 tk2DEnabled: 0 deAudioEnabled: 0 diff --git a/Assets/Resources/Prefabs.meta b/Assets/Resources/Prefabs.meta new file mode 100644 index 0000000..ddebb7b --- /dev/null +++ b/Assets/Resources/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: feee26ca57b9699ae861428d6c591b39 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Boss.prefab b/Assets/Resources/Prefabs/Boss.prefab new file mode 100644 index 0000000..88c2758 --- /dev/null +++ b/Assets/Resources/Prefabs/Boss.prefab @@ -0,0 +1,296 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4330776298416977529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 254785257286598391} + - component: {fileID: 2230461001287445807} + - component: {fileID: 6427988031343748505} + - component: {fileID: 251082247796596844} + - component: {fileID: 2517875536159763359} + - component: {fileID: 6539897934721054833} + m_Layer: 6 + m_Name: Boss + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &254785257286598391 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 150, y: -3, z: 0} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2230461001287445807 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_Sprite: {fileID: 8728508913616413636, guid: 2366eae9f40af86419045ff062bfad24, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 +--- !u!114 &6427988031343748505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1f7e2017ad2d4e8a9dfcb2a92ae14eec, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Enemies.Boss + _maxHealth: 200 + _damagePerHit: 10 + _enrageThreshold: 0.5 + _flyUpHeight: 10 + _flyUpSpeed: 8 + _diveSpeed: 18 + _diveCooldown: 4 + _featherCooldown: 3 + _enragedFeatherCooldown: 1.5 + _sweepSpeed: 20 + _sweepYOffset: -1 + _sweepPasses: 1 + _sweepRange: 20 + _player: {fileID: 0} + _featherPrefab: {fileID: 7014297862649152320, guid: 830417babb7e8e725a0e311c55caf25c, type: 3} + _spriteRenderer: {fileID: 2230461001287445807} + _diveSFX: {fileID: 8300000, guid: 87098722c28d2aeaa961046530f4c78d, type: 3} + _featherSFX: {fileID: 8300000, guid: 42ff16e3c732ab687b10810d0a8462ae, type: 3} + _sweepSFX: {fileID: 8300000, guid: f121f8bd1db697c8094de7c977ce5c44, type: 3} + _hitSFX: {fileID: 8300000, guid: 211ced45c2be848269243a3084de3b54, type: 3} + _deathSFX: {fileID: 8300000, guid: d8f8b2d8f62b971bf94926f33d168558, type: 3} + _audioSource: {fileID: 6539897934721054833} +--- !u!95 &251082247796596844 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 42b94a88c762051428e01eecd08ec642, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!61 &2517875536159763359 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: -0.2333796, y: -0.100019276} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 8, y: 6.26} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 4.5993323, y: 3.7928486} + m_EdgeRadius: 0 +--- !u!82 &6539897934721054833 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4330776298416977529} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 8300000, guid: db267c7e2e4e9b88194b31196d2d01b4, type: 3} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 15 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Resources/Prefabs/Boss.prefab.meta b/Assets/Resources/Prefabs/Boss.prefab.meta new file mode 100644 index 0000000..adf6c65 --- /dev/null +++ b/Assets/Resources/Prefabs/Boss.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a4a325fa93f916ffb1cb6913a0e96ef +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Feather.prefab b/Assets/Resources/Prefabs/Feather.prefab new file mode 100644 index 0000000..63598db --- /dev/null +++ b/Assets/Resources/Prefabs/Feather.prefab @@ -0,0 +1,111 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7014297862649152320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3303967580285926004} + - component: {fileID: 793839130799877208} + - component: {fileID: 3061542466145346617} + m_Layer: 0 + m_Name: Feather + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3303967580285926004 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014297862649152320} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &793839130799877208 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014297862649152320} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_Sprite: {fileID: 170912805055401693, guid: 1f28ee95efe57e26bbc6a16626e9d2da, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 +--- !u!114 &3061542466145346617 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7014297862649152320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dcf6d88618b142b6b38c021a1b66054d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Enemies.FeatherProjectile + _speed: 20 + _lifetime: 5 + _playerLayer: + serializedVersion: 2 + m_Bits: 1 diff --git a/Assets/Resources/Prefabs/Feather.prefab.meta b/Assets/Resources/Prefabs/Feather.prefab.meta new file mode 100644 index 0000000..f53fb19 --- /dev/null +++ b/Assets/Resources/Prefabs/Feather.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 830417babb7e8e725a0e311c55caf25c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Scenes/Gameplay2.unity b/Assets/Resources/Scenes/Gameplay2.unity index 81fa94c..7ee90fc 100644 --- a/Assets/Resources/Scenes/Gameplay2.unity +++ b/Assets/Resources/Scenes/Gameplay2.unity @@ -494,8 +494,9 @@ GameObject: m_Component: - component: {fileID: 96529930} - component: {fileID: 96529931} - m_Layer: 0 - m_Name: EndBorder + - component: {fileID: 96529932} + m_Layer: 3 + m_Name: BossTriggerBorder m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -510,7 +511,7 @@ Transform: m_GameObject: {fileID: 96529929} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 203, y: 7, z: 0} + m_LocalPosition: {x: 115, y: 7, z: 0} m_LocalScale: {x: 1, y: 40, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -546,7 +547,7 @@ BoxCollider2D: m_CallbackLayers: serializedVersion: 2 m_Bits: 4294967295 - m_IsTrigger: 0 + m_IsTrigger: 1 m_UsedByEffector: 0 m_CompositeOperation: 0 m_CompositeOrder: 0 @@ -562,6 +563,18 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 1, y: 1} m_EdgeRadius: 0 +--- !u!114 &96529932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 96529929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 91d34fb33bdc44ddb5146b689aafa67f, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.BossTrigger --- !u!1 &99074354 GameObject: m_ObjectHideFlags: 0 @@ -1330,12 +1343,15 @@ MonoBehaviour: m_GameObject: {fileID: 287467137} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6eba792e8ea4481b8819feb8542a117c, type: 3} + m_Script: {fileID: 11500000, guid: 383ec75bd05d4b5fae1493d1d7265015, type: 3} m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Code.UI.GameplayController + m_EditorClassIdentifier: Assembly-CSharp::Code.UI.GameplayControllerSecond deathScreen: {fileID: 1706632823} + winScreen: {fileID: 1003181303} deathText: {fileID: 417979273} + winText: {fileID: 369811480} exitButton: {fileID: 254654570} + returnButton: {fileID: 937406823} playerHealth: {fileID: 1616841237} audioSource: {fileID: 519420034} blockBorder: {fileID: 302015869} @@ -1749,6 +1765,143 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 +--- !u!1 &369811478 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 369811479} + - component: {fileID: 369811481} + - component: {fileID: 369811480} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &369811479 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 369811478} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1003181302} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 100} + m_SizeDelta: {x: 0, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &369811480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 369811478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: YOU WIN! + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 40f6dc8bcf4b6f11a999aa4b0b41d5c0, type: 2} + m_sharedMaterial: {fileID: -4378138787272434441, guid: 40f6dc8bcf4b6f11a999aa4b0b41d5c0, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 250 + m_fontSizeBase: 250 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &369811481 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 369811478} + m_CullTransparentMesh: 1 --- !u!1 &417979271 GameObject: m_ObjectHideFlags: 0 @@ -2480,6 +2633,143 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 +--- !u!1 &605260517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 605260518} + - component: {fileID: 605260520} + - component: {fileID: 605260519} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &605260518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605260517} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 937406822} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -12.5} + m_SizeDelta: {x: 0, y: -25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &605260519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605260517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Back to menu + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 40f6dc8bcf4b6f11a999aa4b0b41d5c0, type: 2} + m_sharedMaterial: {fileID: -4378138787272434441, guid: 40f6dc8bcf4b6f11a999aa4b0b41d5c0, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 72 + m_fontSizeBase: 72 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &605260520 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 605260517} + m_CullTransparentMesh: 1 --- !u!1 &613005218 GameObject: m_ObjectHideFlags: 0 @@ -3938,6 +4228,127 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 11.359903, y: 3.575173} m_EdgeRadius: 0 +--- !u!1 &937406821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 937406822} + - component: {fileID: 937406825} + - component: {fileID: 937406824} + - component: {fileID: 937406823} + m_Layer: 5 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &937406822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937406821} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 605260518} + m_Father: {fileID: 1003181302} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -300} + m_SizeDelta: {x: -1200, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &937406823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937406821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 937406824} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &937406824 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937406821} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 7664807735657788756, guid: 62b290fc3754dfa539a4bc348075df02, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 3 +--- !u!222 &937406825 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 937406821} + m_CullTransparentMesh: 1 --- !u!1 &942914040 GameObject: m_ObjectHideFlags: 0 @@ -4211,6 +4622,83 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 +--- !u!1 &1003181301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1003181302} + - component: {fileID: 1003181304} + - component: {fileID: 1003181303} + m_Layer: 5 + m_Name: Wonscreen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1003181302 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1003181301} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 369811479} + - {fileID: 937406822} + m_Father: {fileID: 1163535557} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1003181303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1003181301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.627451} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1003181304 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1003181301} + m_CullTransparentMesh: 1 --- !u!1 &1010519422 GameObject: m_ObjectHideFlags: 0 @@ -5118,6 +5606,7 @@ RectTransform: - {fileID: 186387337} - {fileID: 1475998709} - {fileID: 1706632822} + - {fileID: 1003181302} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -6945,13 +7434,13 @@ GameObject: - component: {fileID: 1616841232} - component: {fileID: 1616841231} - component: {fileID: 1616841235} - - component: {fileID: 1616841233} - component: {fileID: 1616841234} - component: {fileID: 1616841236} - component: {fileID: 1616841237} - component: {fileID: 1616841238} - component: {fileID: 1616841239} - component: {fileID: 1616841240} + - component: {fileID: 1616841241} m_Layer: 0 m_Name: Player m_TagString: Player @@ -7027,40 +7516,13 @@ Transform: m_GameObject: {fileID: 1616841230} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -15.9, y: 4, z: 0} + m_LocalPosition: {x: -16, y: 4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 641789617} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!50 &1616841233 -Rigidbody2D: - serializedVersion: 5 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1616841230} - m_BodyType: 0 - m_Simulated: 1 - m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 100 - m_LinearDamping: 0 - m_AngularDamping: 0.05 - m_GravityScale: 5 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_Interpolate: 0 - m_SleepingMode: 0 - m_CollisionDetection: 1 - m_Constraints: 4 --- !u!114 &1616841234 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7073,7 +7535,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0c9ba2abef40495ca9fdfbe42f74330d, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Player.PlayerMovement - _rb: {fileID: 1616841233} + _rb: {fileID: 1616841241} _groundCheck: {fileID: 641789617} _groundLayer: serializedVersion: 2 @@ -7470,6 +7932,33 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!50 &1616841241 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616841230} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 100 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 5 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 0 + m_CollisionDetection: 1 + m_Constraints: 4 --- !u!1 &1635129659 GameObject: m_ObjectHideFlags: 0 @@ -13050,7 +13539,7 @@ Transform: m_GameObject: {fileID: 5415458882047424566} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 180.2, y: -7.7, z: 0} + m_LocalPosition: {x: 180.2, y: -7.7, z: 1} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -14285,7 +14774,7 @@ Transform: m_GameObject: {fileID: 6678468856837076043} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: 0.13630354, w: 0.99066716} - m_LocalPosition: {x: 181.82, y: -6.7417, z: -0.001436} + m_LocalPosition: {x: 181.82, y: -6.7417, z: 2} m_LocalScale: {x: 1.2298, y: 2.3358822, z: 1.2298} m_ConstrainProportionsScale: 0 m_Children: diff --git a/Assets/Resources/Sprites/Feather.png b/Assets/Resources/Sprites/Feather.png new file mode 100644 index 0000000..1a147d1 --- /dev/null +++ b/Assets/Resources/Sprites/Feather.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a77b3511cdcf3b91f6ae3a36612b4d3878a93b64c5a7a31f22cfaddb338a09f2 +size 59573 diff --git a/Assets/Resources/Sprites/Feather.png.meta b/Assets/Resources/Sprites/Feather.png.meta new file mode 100644 index 0000000..51dc362 --- /dev/null +++ b/Assets/Resources/Sprites/Feather.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 1f28ee95efe57e26bbc6a16626e9d2da +TextureImporter: + internalIDToNameTable: + - first: + 213: 170912805055401693 + second: Feather_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: Feather_0 + rect: + serializedVersion: 2 + x: 217 + y: 40 + width: 244 + height: 601 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: dde84e86a443f5200800000000000000 + internalID: 170912805055401693 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Feather_0: 170912805055401693 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Level1Background.png.meta b/Assets/Resources/Sprites/Level1Background.png.meta index 322c157..743572a 100644 --- a/Assets/Resources/Sprites/Level1Background.png.meta +++ b/Assets/Resources/Sprites/Level1Background.png.meta @@ -72,7 +72,7 @@ TextureImporter: platformSettings: - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 + maxTextureSize: 16384 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Resources/Sprites/Level2Background.png.meta b/Assets/Resources/Sprites/Level2Background.png.meta index ddb79ae..84b76e9 100644 --- a/Assets/Resources/Sprites/Level2Background.png.meta +++ b/Assets/Resources/Sprites/Level2Background.png.meta @@ -72,7 +72,7 @@ TextureImporter: platformSettings: - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 + maxTextureSize: 16384 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 diff --git a/Assets/Settings/Graphics/UniversalRP.asset b/Assets/Settings/Graphics/UniversalRP.asset index d9771fc..9333679 100644 --- a/Assets/Settings/Graphics/UniversalRP.asset +++ b/Assets/Settings/Graphics/UniversalRP.asset @@ -100,42 +100,42 @@ MonoBehaviour: obsoleteHasProbeVolumes: m_Keys: [] m_Values: - m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeMainLightShadows: 4 m_PrefilteringModeAdditionalLight: 4 - m_PrefilteringModeAdditionalLightShadows: 1 - m_PrefilterXRKeywords: 0 - m_PrefilteringModeForwardPlus: 1 - m_PrefilteringModeDeferredRendering: 1 - m_PrefilteringModeScreenSpaceOcclusion: 1 - m_PrefilterDebugKeywords: 0 - m_PrefilterWriteRenderingLayers: 0 - m_PrefilterHDROutput: 0 - m_PrefilterAlphaOutput: 0 - m_PrefilterSSAODepthNormals: 0 - m_PrefilterSSAOSourceDepthLow: 0 - m_PrefilterSSAOSourceDepthMedium: 0 - m_PrefilterSSAOSourceDepthHigh: 0 - m_PrefilterSSAOInterleaved: 0 - m_PrefilterSSAOBlueNoise: 0 - m_PrefilterSSAOSampleCountLow: 0 - m_PrefilterSSAOSampleCountMedium: 0 - m_PrefilterSSAOSampleCountHigh: 0 - m_PrefilterDBufferMRT1: 0 - m_PrefilterDBufferMRT2: 0 - m_PrefilterDBufferMRT3: 0 - m_PrefilterSoftShadowsQualityLow: 0 - m_PrefilterSoftShadowsQualityMedium: 0 - m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilteringModeAdditionalLightShadows: 0 + m_PrefilterXRKeywords: 1 + m_PrefilteringModeForwardPlus: 0 + m_PrefilteringModeDeferredRendering: 0 + m_PrefilteringModeScreenSpaceOcclusion: 0 + m_PrefilterDebugKeywords: 1 + m_PrefilterWriteRenderingLayers: 1 + m_PrefilterHDROutput: 1 + m_PrefilterAlphaOutput: 1 + m_PrefilterSSAODepthNormals: 1 + m_PrefilterSSAOSourceDepthLow: 1 + m_PrefilterSSAOSourceDepthMedium: 1 + m_PrefilterSSAOSourceDepthHigh: 1 + m_PrefilterSSAOInterleaved: 1 + m_PrefilterSSAOBlueNoise: 1 + m_PrefilterSSAOSampleCountLow: 1 + m_PrefilterSSAOSampleCountMedium: 1 + m_PrefilterSSAOSampleCountHigh: 1 + m_PrefilterDBufferMRT1: 1 + m_PrefilterDBufferMRT2: 1 + m_PrefilterDBufferMRT3: 1 + m_PrefilterSoftShadowsQualityLow: 1 + m_PrefilterSoftShadowsQualityMedium: 1 + m_PrefilterSoftShadowsQualityHigh: 1 m_PrefilterSoftShadows: 0 - m_PrefilterScreenCoord: 0 - m_PrefilterScreenSpaceIrradiance: 0 - m_PrefilterNativeRenderPass: 0 + m_PrefilterScreenCoord: 1 + m_PrefilterScreenSpaceIrradiance: 1 + m_PrefilterNativeRenderPass: 1 m_PrefilterUseLegacyLightmaps: 0 - m_PrefilterBicubicLightmapSampling: 0 - m_PrefilterReflectionProbeRotation: 0 - m_PrefilterReflectionProbeBlending: 0 - m_PrefilterReflectionProbeBoxProjection: 0 - m_PrefilterReflectionProbeAtlas: 0 + m_PrefilterBicubicLightmapSampling: 1 + m_PrefilterReflectionProbeRotation: 1 + m_PrefilterReflectionProbeBlending: 1 + m_PrefilterReflectionProbeBoxProjection: 1 + m_PrefilterReflectionProbeAtlas: 1 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 m_Textures: diff --git a/Assets/Settings/Graphics/UniversalRenderPipelineGlobalSettings.asset b/Assets/Settings/Graphics/UniversalRenderPipelineGlobalSettings.asset index a46f0fd..ac832ef 100644 --- a/Assets/Settings/Graphics/UniversalRenderPipelineGlobalSettings.asset +++ b/Assets/Settings/Graphics/UniversalRenderPipelineGlobalSettings.asset @@ -66,7 +66,19 @@ MonoBehaviour: - rid: 7106733680788242438 - rid: 7106733680788242439 m_RuntimeSettings: - m_List: [] + m_List: + - rid: 7752762179098771456 + - rid: 7752762179098771457 + - rid: 7752762179098771459 + - rid: 7752762179098771461 + - rid: 7752762179098771462 + - rid: 7752762179098771464 + - rid: 7752762179098771466 + - rid: 7752762179098771468 + - rid: 7752762179098771472 + - rid: 7752762179098771476 + - rid: 3114554777721110529 + - rid: 3114554777721110530 m_AssetVersion: 9 m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: diff --git a/Packages/manifest.json b/Packages/manifest.json index f93ac1c..0c09d1e 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -10,7 +10,7 @@ "com.unity.2d.tilemap.extras": "6.0.1", "com.unity.2d.tooling": "1.0.2", "com.unity.ide.rider": "3.0.39", - "com.unity.ide.visualstudio": "2.0.26", + "com.unity.ide.visualstudio": "2.0.27", "com.unity.inputsystem": "1.18.0", "com.unity.multiplayer.center": "1.0.1", "com.unity.render-pipelines.universal": "17.3.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index c15e1c0..b968592 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -145,7 +145,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.26", + "version": "2.0.27", "depth": 0, "source": "registry", "dependencies": { diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 9f429d9..30d31fc 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -12,7 +12,7 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: DefaultCompany + companyName: The MrTorex productName: PGiZ2 defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} @@ -143,7 +143,7 @@ PlayerSettings: loadStoreDebugModeEnabled: 0 visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 - bundleVersion: 1.0 + bundleVersion: 1.0.0 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -296,7 +296,10 @@ PlayerSettings: androidSymbolsSizeThreshold: 800 m_BuildTargetIcons: [] m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: [] + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 m_BuildTargetShaderSettings: [] m_BuildTargetGraphicsJobs: [] m_BuildTargetGraphicsJobMode: [] @@ -587,24 +590,24 @@ PlayerSettings: webWasm2023: 0 webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: - Android: DOTWEEN - EmbeddedLinux: DOTWEEN - GameCoreScarlett: DOTWEEN - GameCoreXboxOne: DOTWEEN - Kepler: DOTWEEN - LinuxHeadlessSimulation: DOTWEEN - Nintendo Switch: DOTWEEN - Nintendo Switch 2: DOTWEEN - PS4: DOTWEEN - PS5: DOTWEEN - QNX: DOTWEEN - Standalone: DOTWEEN - VisionOS: DOTWEEN - WebGL: DOTWEEN - Windows Store Apps: DOTWEEN - XboxOne: DOTWEEN - iPhone: DOTWEEN - tvOS: DOTWEEN + Android: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + EmbeddedLinux: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + GameCoreScarlett: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + GameCoreXboxOne: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + Kepler: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + LinuxHeadlessSimulation: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + Nintendo Switch: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + Nintendo Switch 2: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + PS4: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + PS5: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + QNX: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + Standalone: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + VisionOS: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + WebGL: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + Windows Store Apps: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + XboxOne: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + iPhone: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D + tvOS: DOTWEEN;DOTWEEN_NOPHYSICS;DOTWEEN_NOPHYSICS2D additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index a4b5984..9848cc4 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.3.6f1 -m_EditorVersionWithRevision: 6000.3.6f1 (bbb010bdb8a3) +m_EditorVersion: 6000.3.7f1 +m_EditorVersionWithRevision: 6000.3.7f1 (696ec25a53d1)