From 0608fcfff877cf64ceb2fc6fe7c50bfe960cfac6 Mon Sep 17 00:00:00 2001 From: nonoaa Date: Tue, 15 Nov 2022 20:34:02 +0900 Subject: [PATCH 1/4] feat: add skill silence --- Assets/JsonData/EnemyLists.json | 8 +- .../ScriptableObject/BossSilence Data.asset | 20 +++++ .../BossSilence Data.asset.meta | 8 ++ Assets/Scripts/Boss/SkillSilence.cs | 74 +++++++++++++++++++ Assets/Scripts/Boss/SkillSilence.cs.meta | 11 +++ Assets/Scripts/Boss/SkillSummonEnemy.cs | 48 +++++------- Assets/Scripts/EnemyManager/EnemyManager.cs | 27 ++++--- Assets/Scripts/Scenario/ScenarioList.cs | 3 - Assets/Scripts/Tower/Tower.cs | 16 +++- Assets/Scripts/TowerManager/TowerManager.cs | 7 ++ 10 files changed, 172 insertions(+), 50 deletions(-) create mode 100644 Assets/ScriptableObject/BossSilence Data.asset create mode 100644 Assets/ScriptableObject/BossSilence Data.asset.meta create mode 100644 Assets/Scripts/Boss/SkillSilence.cs create mode 100644 Assets/Scripts/Boss/SkillSilence.cs.meta diff --git a/Assets/JsonData/EnemyLists.json b/Assets/JsonData/EnemyLists.json index 7155206..717c8e9 100644 --- a/Assets/JsonData/EnemyLists.json +++ b/Assets/JsonData/EnemyLists.json @@ -6,11 +6,9 @@ "waveStartDelay": 3, "spawnDelay": 1.0, "enemyList": [ - 0, - 0, - 0 - ], - "boss": 3 + 3, + 4 + ] }, { "wave": 2, diff --git a/Assets/ScriptableObject/BossSilence Data.asset b/Assets/ScriptableObject/BossSilence Data.asset new file mode 100644 index 0000000..54c88ca --- /dev/null +++ b/Assets/ScriptableObject/BossSilence Data.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 33fe453fe340d453a853dae6430ce242, type: 3} + m_Name: BossSilence Data + m_EditorClassIdentifier: + type: Boss + health: 1000 + sp: 100 + speed: 0.5 + sprite: {fileID: 21300000, guid: 2ba5ec17627314c3fac7750d9af4e245, type: 3} + skillIndex: 1 diff --git a/Assets/ScriptableObject/BossSilence Data.asset.meta b/Assets/ScriptableObject/BossSilence Data.asset.meta new file mode 100644 index 0000000..c9474a2 --- /dev/null +++ b/Assets/ScriptableObject/BossSilence Data.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 41c0e65b6767b47828cb3c3142bf1b33 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Boss/SkillSilence.cs b/Assets/Scripts/Boss/SkillSilence.cs new file mode 100644 index 0000000..51326b2 --- /dev/null +++ b/Assets/Scripts/Boss/SkillSilence.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; +using Random = UnityEngine.Random; + +public partial class SkillSilence: ASkills // IO +{ + public override void Skill(Boss boss) => _Skill(boss); +} + +public partial class SkillSilence // SerializeField +{ + [SerializeField] private TowerManager _towerManager; +} + +public partial class SkillSilence // MonoBehaviour +{ + private void Update() + { + if (_boss.IsDestroyed() && _coroutine != null) + { + Debug.Log("보스사망"); + for (int i = 0; i < _disabledTowers.Count; i++) + { + _disabledTowers[i].EnableTower(); + } + StopCoroutine(_coroutine); + _coroutine = null; + } + } +} +public partial class SkillSilence +{ + private Coroutine _coroutine; + private Boss _boss; + private List _towers; + private List _disabledTowers = new List(); + private void _Skill(Boss boss) + { + _boss = boss; + _coroutine = StartCoroutine(Silence()); + } + + IEnumerator Silence() + { + yield return new WaitForSeconds(4f); + _towers = _towerManager.GetTowerList(); + Debug.Log("침묵사용"); + Tower target = _towers[Random.Range(0, _towers.Count)]; + if (target == null) + { + _coroutine = StartCoroutine(Silence()); + } + else + { + if (_disabledTowers.Count != _towers.Count) + { + for (int i = 0; i < _disabledTowers.Count; i++) + { + if (_disabledTowers[i].Equals(target)) + { + target = _towers[Random.Range(0,_towers.Count)]; + i = 0; + } + } + target.DisableTower(); + _disabledTowers.Add(target); + } + _coroutine = StartCoroutine(Silence()); + } + } +} diff --git a/Assets/Scripts/Boss/SkillSilence.cs.meta b/Assets/Scripts/Boss/SkillSilence.cs.meta new file mode 100644 index 0000000..77057d3 --- /dev/null +++ b/Assets/Scripts/Boss/SkillSilence.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 87feefd473e334203b241e3460c5b9f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Boss/SkillSummonEnemy.cs b/Assets/Scripts/Boss/SkillSummonEnemy.cs index c179afe..5e6bed5 100644 --- a/Assets/Scripts/Boss/SkillSummonEnemy.cs +++ b/Assets/Scripts/Boss/SkillSummonEnemy.cs @@ -14,45 +14,37 @@ public partial class SkillSummonEnemy // SerializeField [SerializeField] private EnemyManager _enemyManager; } +public partial class SkillSummonEnemy // MonoBehaviour +{ + private void Update() + { + if (_boss.IsDestroyed() && _coroutine != null) + { + StopCoroutine(_coroutine); + _coroutine = null; + } + } +} public partial class SkillSummonEnemy { private Boss _boss; + private Coroutine _coroutine; private void _Skill(Boss boss) { _boss = boss; - StartCoroutine(SummonEnemy()); + _coroutine = StartCoroutine(SummonEnemy()); } IEnumerator SummonEnemy() { yield return new WaitForSeconds(4f); - if (_boss.IsDestroyed()) - { - yield return null; - } - else - { - _enemyManager.CreateEnemy(0, _boss.hpOffset); - yield return new WaitForSeconds(0.5f); - } - if (_boss.IsDestroyed()) - { - yield return null; - } - else - { - _enemyManager.CreateEnemy(0, _boss.hpOffset); - yield return new WaitForSeconds(0.5f); - } - if (_boss.IsDestroyed()) - { - yield return null; - } - else - { - _enemyManager.CreateEnemy(1, _boss.hpOffset); - StartCoroutine(SummonEnemy()); - } + Debug.Log("Enemy 소환"); + _enemyManager.CreateEnemy(0, _boss.hpOffset); + yield return new WaitForSeconds(0.5f); + _enemyManager.CreateEnemy(0, _boss.hpOffset); + yield return new WaitForSeconds(0.5f); + _enemyManager.CreateEnemy(1, _boss.hpOffset); + _coroutine = StartCoroutine(SummonEnemy()); } } diff --git a/Assets/Scripts/EnemyManager/EnemyManager.cs b/Assets/Scripts/EnemyManager/EnemyManager.cs index 8700dd9..340a4e1 100644 --- a/Assets/Scripts/EnemyManager/EnemyManager.cs +++ b/Assets/Scripts/EnemyManager/EnemyManager.cs @@ -70,7 +70,7 @@ private void _CreateEnemy(int type, int hpOffset) enemy.transform.position = _spawnPoint.position; enemy.Init(enemyData, hpOffset, this); _enemies.Add(enemy); - SetGeneralTarget(); + _SetGeneralTarget(); } private void _CreateBoss(int type, int hpOffset) @@ -79,7 +79,7 @@ private void _CreateBoss(int type, int hpOffset) BossData bossData = (BossData)_enemyDatas[type]; boss.Init(bossData, hpOffset, _gameManager, _skills[bossData.skillIndex].Skill); _enemies.Add(boss); - SetGeneralTarget(); + _SetGeneralTarget(); } private void _DestroyEnemy(Enemy enemy) @@ -111,7 +111,7 @@ private void _SetGeneralTarget() float maxHealth = 0; float minDist = float.MaxValue; - float maxDist = 0f; + float maxDist = -0.1f; for (int i = 0; i < _enemies.Count; i++) { if (_enemies[i].progressToGoal < minDist) @@ -132,7 +132,6 @@ private void _SetGeneralTarget() targetStrongest = _enemies[i]; } } - targetRandom = _enemies[Random.Range(0, _enemies.Count)]; } @@ -147,14 +146,18 @@ IEnumerator _SpawnEnemyByWave(float startDelay) yield return new WaitForSeconds(startDelay); while(_currentWave.enemyList.Count > 0) { - yield return new WaitForSeconds(_currentWave.spawnDelay); - _CreateEnemy(_currentWave.enemyList[0], _currentWave.enemyHPOffset); - _currentWave.enemyList.RemoveAt(0); - } - if (_currentWave.boss != 0) - { - yield return new WaitForSeconds(_currentWave.spawnDelay); - _CreateBoss(_currentWave.boss, _currentWave.enemyHPOffset); + if (_currentWave.enemyList[0] >= 0 && _currentWave.enemyList[0] < 3) + { + yield return new WaitForSeconds(_currentWave.spawnDelay); + _CreateEnemy(_currentWave.enemyList[0], _currentWave.enemyHPOffset); + _currentWave.enemyList.RemoveAt(0); + } + else if (_currentWave.enemyList[0] >= 3) + { + yield return new WaitForSeconds(_currentWave.spawnDelay); + _CreateBoss(_currentWave.enemyList[0], _currentWave.enemyHPOffset); + _currentWave.enemyList.RemoveAt(0); + } } yield return null; } diff --git a/Assets/Scripts/Scenario/ScenarioList.cs b/Assets/Scripts/Scenario/ScenarioList.cs index a82ea63..b461017 100644 --- a/Assets/Scripts/Scenario/ScenarioList.cs +++ b/Assets/Scripts/Scenario/ScenarioList.cs @@ -10,7 +10,6 @@ public class ScenarioList public int enemyHPOffset; public float waveStartDelay; public float spawnDelay; - public int boss; public List enemyList = new List(); @@ -20,7 +19,6 @@ public ScenarioList() enemyHPOffset = 0; waveStartDelay = 0; spawnDelay = 0; - boss = 0; } public ScenarioList(ScenarioList other) @@ -30,7 +28,6 @@ public ScenarioList(ScenarioList other) waveStartDelay = other.waveStartDelay; spawnDelay = other.spawnDelay; enemyList.AddRange(other.enemyList); - boss = other.boss; } public bool ValidateList() diff --git a/Assets/Scripts/Tower/Tower.cs b/Assets/Scripts/Tower/Tower.cs index 4cc92fd..d61f120 100644 --- a/Assets/Scripts/Tower/Tower.cs +++ b/Assets/Scripts/Tower/Tower.cs @@ -10,6 +10,8 @@ public partial class Tower // IO public int GetGrade() => _GetGrade(); public void ResetEyesPosition() => _ResetEyesPosition(); public Vector2 GetStartPosition() => _GetSartPosition(); + public void DisableTower() => _DisableTower(); + public void EnableTower() => _EnableTower(); } public partial class Tower // SerializeField @@ -37,7 +39,7 @@ public partial class Tower // body { private float _lastAttackTime; private Vector2 _startPosition; - private bool _isEnable = false; + private bool _isEnable = true; protected int TowerGrade = 1; protected int TowerLevel = 1; protected int TowerStar = 1; @@ -54,7 +56,7 @@ private void _Init(TowerManager towerManager) private void Launch() { - if (Time.time >= _lastAttackTime + towerData.attackSpeed / (TowerGrade * towerData.gradeAttackSpeedIncrease)) + if (_isEnable && Time.time >= _lastAttackTime + towerData.attackSpeed / (TowerGrade * towerData.gradeAttackSpeedIncrease)) { _lastAttackTime = Time.time; _towerManager.Launch(this); @@ -85,4 +87,14 @@ private Vector2 _GetSartPosition() { return _startPosition; } + + private void _DisableTower() + { + _isEnable = false; + } + + private void _EnableTower() + { + _isEnable = true; + } } \ No newline at end of file diff --git a/Assets/Scripts/TowerManager/TowerManager.cs b/Assets/Scripts/TowerManager/TowerManager.cs index f00ed61..9addb00 100644 --- a/Assets/Scripts/TowerManager/TowerManager.cs +++ b/Assets/Scripts/TowerManager/TowerManager.cs @@ -12,6 +12,8 @@ public partial class TowerManager // IO public bool AddTower() => _AddTower(); public void DestroyTower(Tower tower) => _DestroyTower(tower); + public List GetTowerList() => _GetTowerList(); + public void Merge(Tower baseTower, Tower otherTower) => _Merge(baseTower, otherTower); } @@ -75,6 +77,11 @@ private Enemy _GetTarget() return gameManager.enemyManager.targetFirst; } + private List _GetTowerList() + { + return _towers; + } + private void _Merge(Tower baseTower, Tower otherTower) { if (baseTower.GetGrade() >= maxGrade) return; From 7b670010ce3e6a9f20258e817874a7b73e70098d Mon Sep 17 00:00:00 2001 From: nonoaa Date: Tue, 15 Nov 2022 20:35:06 +0900 Subject: [PATCH 2/4] add scene file --- Assets/Scenes/SampleScene.unity | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index a044871..39992ca 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -1903,6 +1903,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 204800508} + - {fileID: 1231490161} m_Father: {fileID: 0} m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2296,6 +2297,51 @@ MonoBehaviour: m_EditorClassIdentifier: slotId: 4 occupied: 0 +--- !u!1 &1231490160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1231490161} + - component: {fileID: 1231490162} + m_Layer: 0 + m_Name: SkillSilence + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1231490161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231490160} + 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: 1073420001} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1231490162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1231490160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87feefd473e334203b241e3460c5b9f8, type: 3} + m_Name: + m_EditorClassIdentifier: + _towerManager: {fileID: 497353759} --- !u!1 &1237742221 GameObject: m_ObjectHideFlags: 0 @@ -2624,10 +2670,12 @@ MonoBehaviour: - {fileID: 11400000, guid: f2542d9d79c1f43e8bc9795f945a6f39, type: 2} - {fileID: 11400000, guid: 4d903d1d5052842f7aaf4271a75917c7, type: 2} - {fileID: 11400000, guid: 69f649c4b872f4b92834bb0e0c9dc679, type: 2} + - {fileID: 11400000, guid: 41c0e65b6767b47828cb3c3142bf1b33, type: 2} _spawnPoint: {fileID: 1051109104} _bossPrefab: {fileID: 6847922770527907927, guid: 203399ee70b764ebdaeaa6ee56cf74e3, type: 3} _skills: - {fileID: 204800509} + - {fileID: 1231490162} --- !u!4 &1417149471 Transform: m_ObjectHideFlags: 0 From 7f8e975d1290dac3823f9b3ffaab539190c5a90f Mon Sep 17 00:00:00 2001 From: nonoaa Date: Sat, 19 Nov 2022 21:35:17 +0900 Subject: [PATCH 3/4] fix: silence bug --- Assets/JsonData/EnemyLists.json | 4 +- Assets/Prefab/EffectSilenceToDice.prefab | 203 ++++++++++++++++++ Assets/Prefab/EffectSilenceToDice.prefab.meta | 7 + Assets/Scenes/SampleScene.unity | 1 + Assets/Scripts/Boss/Boss.cs | 18 +- Assets/Scripts/Boss/SkillSilence.cs | 57 ++--- Assets/Scripts/Boss/SkillSummonEnemy.cs | 13 +- UserSettings/Layouts/default-2021.dwlt | 76 +++---- 8 files changed, 309 insertions(+), 70 deletions(-) create mode 100644 Assets/Prefab/EffectSilenceToDice.prefab create mode 100644 Assets/Prefab/EffectSilenceToDice.prefab.meta diff --git a/Assets/JsonData/EnemyLists.json b/Assets/JsonData/EnemyLists.json index 717c8e9..ab17ef8 100644 --- a/Assets/JsonData/EnemyLists.json +++ b/Assets/JsonData/EnemyLists.json @@ -3,8 +3,8 @@ { "wave": 1, "enemyHPOffset": 1, - "waveStartDelay": 3, - "spawnDelay": 1.0, + "waveStartDelay": 1, + "spawnDelay": 6.0, "enemyList": [ 3, 4 diff --git a/Assets/Prefab/EffectSilenceToDice.prefab b/Assets/Prefab/EffectSilenceToDice.prefab new file mode 100644 index 0000000..204d1f2 --- /dev/null +++ b/Assets/Prefab/EffectSilenceToDice.prefab @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3088813161724301973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3088813161724301972} + m_Layer: 0 + m_Name: EffectSilenceToDice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3088813161724301972 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3088813161724301973} + 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: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3088813163231629196} + - {fileID: 3088813163256664344} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3088813163231629197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3088813163231629196} + - component: {fileID: 3088813163231629199} + m_Layer: 0 + m_Name: dice_lock_face + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3088813163231629196 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3088813163231629197} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3088813161724301972} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &3088813163231629199 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3088813163231629197} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 6d7ae9cdc179946acb2e1db06700c932, 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.18, y: 1.58} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &3088813163256664345 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3088813163256664344} + - component: {fileID: 3088813163256664347} + m_Layer: 0 + m_Name: dice_lock_chain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3088813163256664344 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3088813163256664345} + 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: 3088813161724301972} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &3088813163256664347 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3088813163256664345} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: adc84d9b8769e4aef96a741f86366305, 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.24, y: 1.28} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefab/EffectSilenceToDice.prefab.meta b/Assets/Prefab/EffectSilenceToDice.prefab.meta new file mode 100644 index 0000000..bc757d1 --- /dev/null +++ b/Assets/Prefab/EffectSilenceToDice.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5a0ed38b36d2e47a8896d30875d6dfe1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 39992ca..5f5e55f 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -2342,6 +2342,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _towerManager: {fileID: 497353759} + _effectPrefab: {fileID: 3088813161724301973, guid: 5a0ed38b36d2e47a8896d30875d6dfe1, type: 3} --- !u!1 &1237742221 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Boss/Boss.cs b/Assets/Scripts/Boss/Boss.cs index 8a4b919..ae05d63 100644 --- a/Assets/Scripts/Boss/Boss.cs +++ b/Assets/Scripts/Boss/Boss.cs @@ -8,6 +8,8 @@ public partial class Boss : Enemy // IO { public void Init(EnemyData enemyData, int hpOffset, GameManager gameManager, UnityAction skills) => _Init(enemyData, hpOffset, gameManager, skills); + public void StopMove() => _StopMove(); + public void StartMove() => _StartMove(); } @@ -22,7 +24,10 @@ public partial class Boss// Monobehaviour protected override void Update() { - base.Update(); + if (!_stop) + { + base.Update(); + } _healthSlider.transform.position = (Vector2)Camera.main.WorldToScreenPoint(transform.position) + (Vector2.down * 70); } } @@ -30,6 +35,7 @@ protected override void Update() public partial class Boss // body { private UnityAction _skill; + private bool _stop = false; private void UseSkill() { @@ -55,4 +61,14 @@ public void _Init(EnemyData enemyData, int hpOffset, GameManager gameManager, Un _damage = 2; } + + private void _StopMove() + { + _stop = true; + } + + private void _StartMove() + { + _stop = false; + } } diff --git a/Assets/Scripts/Boss/SkillSilence.cs b/Assets/Scripts/Boss/SkillSilence.cs index 51326b2..3ad1c11 100644 --- a/Assets/Scripts/Boss/SkillSilence.cs +++ b/Assets/Scripts/Boss/SkillSilence.cs @@ -13,6 +13,7 @@ public partial class SkillSilence: ASkills // IO public partial class SkillSilence // SerializeField { [SerializeField] private TowerManager _towerManager; + [SerializeField] private GameObject _effectPrefab; } public partial class SkillSilence // MonoBehaviour @@ -21,10 +22,16 @@ private void Update() { if (_boss.IsDestroyed() && _coroutine != null) { - Debug.Log("보스사망"); - for (int i = 0; i < _disabledTowers.Count; i++) + while (_disabledTowers.Count > 0) + { + _disabledTowers[_disabledTowers.Count - 1].EnableTower(); + _disabledTowers.RemoveAt(_disabledTowers.Count - 1); + } + + while (_effectObjects.Count > 0) { - _disabledTowers[i].EnableTower(); + Destroy(_effectObjects[_effectObjects.Count - 1]); + _effectObjects.RemoveAt(_effectObjects.Count - 1); } StopCoroutine(_coroutine); _coroutine = null; @@ -35,8 +42,10 @@ public partial class SkillSilence { private Coroutine _coroutine; private Boss _boss; - private List _towers; + private float _skillCooltime = 5f; + private float _moveStopTime = 1.5f; private List _disabledTowers = new List(); + private List _effectObjects = new List(); private void _Skill(Boss boss) { _boss = boss; @@ -45,30 +54,28 @@ private void _Skill(Boss boss) IEnumerator Silence() { - yield return new WaitForSeconds(4f); - _towers = _towerManager.GetTowerList(); - Debug.Log("침묵사용"); - Tower target = _towers[Random.Range(0, _towers.Count)]; - if (target == null) - { - _coroutine = StartCoroutine(Silence()); - } - else + yield return new WaitForSeconds(_skillCooltime); + List temp = _towerManager.GetTowerList(); + + if (_disabledTowers.Count < temp.Count) { - if (_disabledTowers.Count != _towers.Count) + List _towers = new List(); + for (int i = 0; i < temp.Count; i++) { - for (int i = 0; i < _disabledTowers.Count; i++) - { - if (_disabledTowers[i].Equals(target)) - { - target = _towers[Random.Range(0,_towers.Count)]; - i = 0; - } - } - target.DisableTower(); - _disabledTowers.Add(target); + _towers.Add(temp[i]); } - _coroutine = StartCoroutine(Silence()); + for (int i = 0; i < _disabledTowers.Count; i++) + { + _towers.Remove(_disabledTowers[i]); + } + Tower target = _towers[Random.Range(0, _towers.Count)]; + _effectObjects.Add(Instantiate(_effectPrefab, target.transform.position, target.transform.rotation)); + target.DisableTower(); + _disabledTowers.Add(target); + _boss.StopMove(); + yield return new WaitForSeconds(_moveStopTime); + _boss.StartMove(); } + _coroutine = StartCoroutine(Silence()); } } diff --git a/Assets/Scripts/Boss/SkillSummonEnemy.cs b/Assets/Scripts/Boss/SkillSummonEnemy.cs index 5e6bed5..59855c5 100644 --- a/Assets/Scripts/Boss/SkillSummonEnemy.cs +++ b/Assets/Scripts/Boss/SkillSummonEnemy.cs @@ -29,6 +29,9 @@ public partial class SkillSummonEnemy { private Boss _boss; private Coroutine _coroutine; + private float _skillCooltime = 5f; + private float _spawnDelay = 0.5f; + private float _moveStopTime = 0.5f; private void _Skill(Boss boss) { @@ -38,13 +41,15 @@ private void _Skill(Boss boss) IEnumerator SummonEnemy() { - yield return new WaitForSeconds(4f); - Debug.Log("Enemy 소환"); + yield return new WaitForSeconds(_skillCooltime); + _boss.StopMove(); _enemyManager.CreateEnemy(0, _boss.hpOffset); - yield return new WaitForSeconds(0.5f); + yield return new WaitForSeconds(_spawnDelay); _enemyManager.CreateEnemy(0, _boss.hpOffset); - yield return new WaitForSeconds(0.5f); + yield return new WaitForSeconds(_spawnDelay); _enemyManager.CreateEnemy(1, _boss.hpOffset); + yield return new WaitForSeconds(_moveStopTime); + _boss.StartMove(); _coroutine = StartCoroutine(SummonEnemy()); } } diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt index 425825f..932389f 100644 --- a/UserSettings/Layouts/default-2021.dwlt +++ b/UserSettings/Layouts/default-2021.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1440 height: 772 m_ShowMode: 4 - m_Title: Project + m_Title: Hierarchy m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 492} m_MaxSize: {x: 10000, y: 10000} @@ -145,7 +145,7 @@ MonoBehaviour: m_MinSize: {x: 100, y: 200} m_MaxSize: {x: 8096, y: 16192} vertical: 1 - controlID: 64 + controlID: 18 --- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 @@ -165,8 +165,8 @@ MonoBehaviour: y: 0 width: 566 height: 100 - m_MinSize: {x: 201, y: 221} - m_MaxSize: {x: 4001, y: 4021} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 16} m_Panes: - {fileID: 16} @@ -192,8 +192,8 @@ MonoBehaviour: y: 100 width: 566 height: 622 - m_MinSize: {x: 201, y: 221} - m_MaxSize: {x: 4001, y: 4021} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 15} m_Panes: - {fileID: 15} @@ -218,12 +218,12 @@ MonoBehaviour: serializedVersion: 2 x: 566 y: 0 - width: 551.5 + width: 381.5 height: 722 m_MinSize: {x: 100, y: 200} m_MaxSize: {x: 8096, y: 16192} vertical: 1 - controlID: 18 + controlID: 57 --- !u!114 &10 MonoBehaviour: m_ObjectHideFlags: 52 @@ -241,10 +241,10 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 551.5 + width: 381.5 height: 368 - m_MinSize: {x: 202, y: 221} - m_MaxSize: {x: 4002, y: 4021} + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} m_ActualView: {fileID: 18} m_Panes: - {fileID: 18} @@ -267,7 +267,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 368 - width: 551.5 + width: 381.5 height: 354 m_MinSize: {x: 232, y: 271} m_MaxSize: {x: 10002, y: 10021} @@ -293,9 +293,9 @@ MonoBehaviour: - {fileID: 14} m_Position: serializedVersion: 2 - x: 1117.5 + x: 947.5 y: 0 - width: 322.5 + width: 492.5 height: 722 m_MinSize: {x: 100, y: 200} m_MaxSize: {x: 8096, y: 16192} @@ -318,10 +318,10 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 322.5 + width: 492.5 height: 399 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 20} m_Panes: - {fileID: 20} @@ -345,7 +345,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 399 - width: 322.5 + width: 492.5 height: 323 m_MinSize: {x: 100, y: 100} m_MaxSize: {x: 4000, y: 4000} @@ -545,8 +545,8 @@ MonoBehaviour: floating: 0 collapsed: 0 displayed: 1 - snapOffset: {x: 0, y: 25} - snapOffsetDelta: {x: 0, y: -25} + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} snapCorner: 0 id: unity-transform-toolbar index: 0 @@ -693,9 +693,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 0.48461324, y: 1.4757823, z: 0.19529352} + m_Target: {x: 1.8322941, y: -0.9738692, z: 0.2433186} speed: 2 - m_Value: {x: 0.48461324, y: 1.4757823, z: 0.19529352} + m_Value: {x: 1.8322941, y: -0.9738692, z: 0.2433186} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -746,9 +746,9 @@ MonoBehaviour: speed: 2 m_Value: {x: 0, y: 0, z: 0, w: 1} m_Size: - m_Target: 10 + m_Target: 5.1974916 speed: 2 - m_Value: 10 + m_Value: 5.1974916 m_Ortho: m_Target: 1 speed: 2 @@ -805,7 +805,7 @@ MonoBehaviour: m_MipLevel: 0 m_Zoom: -1 m_ScrollPosition: {x: 0, y: 0} - m_SelectedObject: {fileID: 11500000, guid: 97aea3663987a424185d9c4a341549ba, type: 3} + m_SelectedObject: {fileID: 0} m_SelectedSpriteRectGUID: 00000000000000000000000000000000 m_LastUsedModuleTypeName: --- !u!114 &18 @@ -830,7 +830,7 @@ MonoBehaviour: serializedVersion: 2 x: 566 y: 83 - width: 549.5 + width: 379.5 height: 347 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: @@ -839,9 +839,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 50180000 + m_SelectedIDs: a4250000 m_LastClickedID: 0 - m_ExpandedIDs: 24fbffffe6600000 + m_ExpandedIDs: 24fbffff m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -857,7 +857,7 @@ MonoBehaviour: m_IsRenaming: 0 m_OriginalEventType: 11 m_IsRenamingFilename: 0 - m_ClientGUIView: {fileID: 10} + m_ClientGUIView: {fileID: 0} m_SearchString: m_ExpandedScenes: [] m_CurrenRootInstanceID: 0 @@ -887,7 +887,7 @@ MonoBehaviour: serializedVersion: 2 x: 566 y: 451 - width: 549.5 + width: 379.5 height: 333 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: @@ -919,9 +919,9 @@ MonoBehaviour: m_IsLocked: 0 m_FolderTreeState: scrollPos: {x: 0, y: 75} - m_SelectedIDs: a2630000 - m_LastClickedID: 25506 - m_ExpandedIDs: 00000000906300009263000000ca9a3b + m_SelectedIDs: 10640000 + m_LastClickedID: 25616 + m_ExpandedIDs: 00000000ee630000f063000000ca9a3b m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -949,7 +949,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 000000009063000092630000 + m_ExpandedIDs: 00000000ee630000f0630000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1025,9 +1025,9 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1117.5 + x: 947.5 y: 83 - width: 321.5 + width: 491.5 height: 378 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: @@ -1094,9 +1094,9 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1117.5 + x: 947.5 y: 482 - width: 321.5 + width: 491.5 height: 302 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: From 6aef68d7b6e01664afc1a9498c62113f2e471579 Mon Sep 17 00:00:00 2001 From: nonoaa Date: Mon, 21 Nov 2022 15:46:34 +0900 Subject: [PATCH 4/4] feat: add skill effects --- Assets/Prefab/Boss.meta | 8 + Assets/Prefab/{ => Boss}/Boss.prefab | 0 Assets/Prefab/{ => Boss}/Boss.prefab.meta | 0 Assets/Prefab/Boss/EffectSilenceToBoss.prefab | 192 ++++++++++++++++ .../Boss/EffectSilenceToBoss.prefab.meta | 7 + .../{ => Boss}/EffectSilenceToDice.prefab | 0 .../EffectSilenceToDice.prefab.meta | 0 Assets/Prefab/Boss/EffectSnakeToBoss.prefab | 107 +++++++++ .../Prefab/Boss/EffectSnakeToBoss.prefab.meta | 7 + .../Boss/EffectSnakeToStartPoint.prefab | 216 ++++++++++++++++++ .../Boss/EffectSnakeToStartPoint.prefab.meta | 7 + .../BossSkill/boss_1/EffectSnakeToBoss.anim | 77 +++++++ .../boss_1/EffectSnakeToBoss.anim.meta | 8 + .../boss_1/EffectSnakeToBoss.controller | 72 ++++++ .../boss_1/EffectSnakeToBoss.controller.meta | 8 + .../boss_2/EffectSilenceUsingSkill.anim | 83 +++++++ .../boss_2/EffectSilenceUsingSkill.anim.meta | 8 + .../boss_2/EffectSilenceUsingSkill.controller | 72 ++++++ .../EffectSilenceUsingSkill.controller.meta | 8 + Assets/Scenes/SampleScene.unity | 5 +- Assets/Scripts/Boss/EffectRotate.cs | 12 + Assets/Scripts/Boss/EffectRotate.cs.meta | 11 + Assets/Scripts/Boss/SkillSilence.cs | 8 +- Assets/Scripts/Boss/SkillSummonEnemy.cs | 14 +- 24 files changed, 924 insertions(+), 6 deletions(-) create mode 100644 Assets/Prefab/Boss.meta rename Assets/Prefab/{ => Boss}/Boss.prefab (100%) rename Assets/Prefab/{ => Boss}/Boss.prefab.meta (100%) create mode 100644 Assets/Prefab/Boss/EffectSilenceToBoss.prefab create mode 100644 Assets/Prefab/Boss/EffectSilenceToBoss.prefab.meta rename Assets/Prefab/{ => Boss}/EffectSilenceToDice.prefab (100%) rename Assets/Prefab/{ => Boss}/EffectSilenceToDice.prefab.meta (100%) create mode 100644 Assets/Prefab/Boss/EffectSnakeToBoss.prefab create mode 100644 Assets/Prefab/Boss/EffectSnakeToBoss.prefab.meta create mode 100644 Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab create mode 100644 Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab.meta create mode 100644 Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim create mode 100644 Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim.meta create mode 100644 Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller create mode 100644 Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller.meta create mode 100644 Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim create mode 100644 Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim.meta create mode 100644 Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller create mode 100644 Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller.meta create mode 100644 Assets/Scripts/Boss/EffectRotate.cs create mode 100644 Assets/Scripts/Boss/EffectRotate.cs.meta diff --git a/Assets/Prefab/Boss.meta b/Assets/Prefab/Boss.meta new file mode 100644 index 0000000..f1ea51c --- /dev/null +++ b/Assets/Prefab/Boss.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05365043d01e7cb469bf26f09f79615f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Boss.prefab b/Assets/Prefab/Boss/Boss.prefab similarity index 100% rename from Assets/Prefab/Boss.prefab rename to Assets/Prefab/Boss/Boss.prefab diff --git a/Assets/Prefab/Boss.prefab.meta b/Assets/Prefab/Boss/Boss.prefab.meta similarity index 100% rename from Assets/Prefab/Boss.prefab.meta rename to Assets/Prefab/Boss/Boss.prefab.meta diff --git a/Assets/Prefab/Boss/EffectSilenceToBoss.prefab b/Assets/Prefab/Boss/EffectSilenceToBoss.prefab new file mode 100644 index 0000000..6e00165 --- /dev/null +++ b/Assets/Prefab/Boss/EffectSilenceToBoss.prefab @@ -0,0 +1,192 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1970522907599590335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1970522907599590333} + - component: {fileID: 1970522907599590334} + m_Layer: 0 + m_Name: EffectSilenceToBoss + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1970522907599590333 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970522907599590335} + 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: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1970522907679757149} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1970522907599590334 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970522907599590335} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: a58613fc1c8e24f628f9b83963bac29e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.3, y: 2.3} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1970522907679757144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1970522907679757149} + - component: {fileID: 1970522907679757150} + - component: {fileID: 1970522907679757151} + m_Layer: 0 + m_Name: AnimationSilence + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1970522907679757149 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970522907679757144} + 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: 1970522907599590333} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &1970522907679757150 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970522907679757144} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 232fac6ef2ee9e845833994b2ac6e301, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &1970522907679757151 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970522907679757144} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.3, y: 2.3} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefab/Boss/EffectSilenceToBoss.prefab.meta b/Assets/Prefab/Boss/EffectSilenceToBoss.prefab.meta new file mode 100644 index 0000000..3ddef5d --- /dev/null +++ b/Assets/Prefab/Boss/EffectSilenceToBoss.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a82133e59f981a0488cf3fbece92daf7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/EffectSilenceToDice.prefab b/Assets/Prefab/Boss/EffectSilenceToDice.prefab similarity index 100% rename from Assets/Prefab/EffectSilenceToDice.prefab rename to Assets/Prefab/Boss/EffectSilenceToDice.prefab diff --git a/Assets/Prefab/EffectSilenceToDice.prefab.meta b/Assets/Prefab/Boss/EffectSilenceToDice.prefab.meta similarity index 100% rename from Assets/Prefab/EffectSilenceToDice.prefab.meta rename to Assets/Prefab/Boss/EffectSilenceToDice.prefab.meta diff --git a/Assets/Prefab/Boss/EffectSnakeToBoss.prefab b/Assets/Prefab/Boss/EffectSnakeToBoss.prefab new file mode 100644 index 0000000..aaeefd4 --- /dev/null +++ b/Assets/Prefab/Boss/EffectSnakeToBoss.prefab @@ -0,0 +1,107 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8483434230586460716 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8483434230586460721} + - component: {fileID: 8483434230586460722} + - component: {fileID: 8483434230586460723} + m_Layer: 0 + m_Name: EffectSnakeToBoss + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8483434230586460721 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8483434230586460716} + 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: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &8483434230586460722 +Animator: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8483434230586460716} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: f99d4f54d591cf4439c8898ec0b4ac7b, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &8483434230586460723 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8483434230586460716} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.98, y: 1.98} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefab/Boss/EffectSnakeToBoss.prefab.meta b/Assets/Prefab/Boss/EffectSnakeToBoss.prefab.meta new file mode 100644 index 0000000..df440a5 --- /dev/null +++ b/Assets/Prefab/Boss/EffectSnakeToBoss.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a289bc7cfceb64a458e49228a725a858 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab b/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab new file mode 100644 index 0000000..605a7ec --- /dev/null +++ b/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab @@ -0,0 +1,216 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5683785839794909112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1959288874433366451} + - component: {fileID: 6153345964209578882} + m_Layer: 0 + m_Name: EffectSnakeToStartPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1959288874433366451 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683785839794909112} + 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: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7381024353630569380} + - {fileID: 408248163357563272} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6153345964209578882 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683785839794909112} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d34f845691e092e45ba3e563acdc7018, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &7553307829863544494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 408248163357563272} + - component: {fileID: 6369797942636153054} + m_Layer: 0 + m_Name: EffectSummon2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &408248163357563272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7553307829863544494} + 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: 1959288874433366451} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &6369797942636153054 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7553307829863544494} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: cbe8d41acf0384dbca6f7d1e4c7c21f0, 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.45, y: 1.47} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &8374957197994873122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7381024353630569380} + - component: {fileID: 3364930271588346485} + m_Layer: 0 + m_Name: EffectSummon1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7381024353630569380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8374957197994873122} + 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: 1959288874433366451} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &3364930271588346485 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8374957197994873122} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: c4ef99c4338de43ae9a2ea66116c65ae, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.97, y: 0.99} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab.meta b/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab.meta new file mode 100644 index 0000000..0b77dd9 --- /dev/null +++ b/Assets/Prefab/Boss/EffectSnakeToStartPoint.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2c890b010dd12d94db099e24d10c8a1b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim new file mode 100644 index 0000000..b2e8609 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSnakeToBoss + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 21300000, guid: b691b1b1806a44525a07431390983b60, type: 3} + - time: 0.25 + value: {fileID: 21300000, guid: 1c503322f422a4de88faaa2f79b14776, type: 3} + - time: 0.5 + value: {fileID: 21300000, guid: 04abef57864ca469182c7300caf2eccd, type: 3} + - time: 0.75 + value: {fileID: 21300000, guid: 429e6d08ba4434e0db6dab7ba76a46cd, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + m_SampleRate: 4 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 21300000, guid: b691b1b1806a44525a07431390983b60, type: 3} + - {fileID: 21300000, guid: 1c503322f422a4de88faaa2f79b14776, type: 3} + - {fileID: 21300000, guid: 04abef57864ca469182c7300caf2eccd, type: 3} + - {fileID: 21300000, guid: 429e6d08ba4434e0db6dab7ba76a46cd, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim.meta b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim.meta new file mode 100644 index 0000000..b496fd1 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9bc05234939c9b84096f6deb4d2d3d4e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller new file mode 100644 index 0000000..45ee5ec --- /dev/null +++ b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-911090657086541159 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 3973915388083990552} + m_Position: {x: 200, y: 0, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 300, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 3973915388083990552} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSnakeToBoss + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -911090657086541159} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &3973915388083990552 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSnakeToBoss + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 9bc05234939c9b84096f6deb4d2d3d4e, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller.meta b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller.meta new file mode 100644 index 0000000..3765aad --- /dev/null +++ b/Assets/Resource/BossSkill/boss_1/EffectSnakeToBoss.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f99d4f54d591cf4439c8898ec0b4ac7b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim new file mode 100644 index 0000000..d6b2527 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSilenceUsingSkill + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 21300000, guid: 22b115d72ba3a47708c3582e6910ccb4, type: 3} + - time: 0.14285715 + value: {fileID: 21300000, guid: cb2992cf7869746c7beab9485dee1c98, type: 3} + - time: 0.2857143 + value: {fileID: 21300000, guid: b0b18c412380b40c3a2a1c735dfb2a8c, type: 3} + - time: 0.42857143 + value: {fileID: 21300000, guid: c61160ef95774460fbae52fe3debd3f1, type: 3} + - time: 0.5714286 + value: {fileID: 21300000, guid: 58563b6a294264416adbdf331e2f3aae, type: 3} + - time: 0.71428573 + value: {fileID: 21300000, guid: afb5d290ff1844683b1f0b3efb23a842, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + m_SampleRate: 7 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 21300000, guid: 22b115d72ba3a47708c3582e6910ccb4, type: 3} + - {fileID: 21300000, guid: cb2992cf7869746c7beab9485dee1c98, type: 3} + - {fileID: 21300000, guid: b0b18c412380b40c3a2a1c735dfb2a8c, type: 3} + - {fileID: 21300000, guid: c61160ef95774460fbae52fe3debd3f1, type: 3} + - {fileID: 21300000, guid: 58563b6a294264416adbdf331e2f3aae, type: 3} + - {fileID: 21300000, guid: afb5d290ff1844683b1f0b3efb23a842, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.85714287 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim.meta b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim.meta new file mode 100644 index 0000000..2e6b2f1 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39b6f2725001c4b4daf5279348986f07 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller new file mode 100644 index 0000000..0578a65 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-7552852055258496414 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -5582222165594351255} + m_Position: {x: 250, y: 110, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -5582222165594351255} +--- !u!1102 &-5582222165594351255 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSilenceUsingSkill + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 39b6f2725001c4b4daf5279348986f07, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EffectSilenceUsingSkill + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -7552852055258496414} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} diff --git a/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller.meta b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller.meta new file mode 100644 index 0000000..d69e422 --- /dev/null +++ b/Assets/Resource/BossSkill/boss_2/EffectSilenceUsingSkill.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 232fac6ef2ee9e845833994b2ac6e301 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 5f5e55f..0cf8750 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -168,6 +168,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _enemyManager: {fileID: 1417149470} + _effectToBossPrefab: {fileID: 8483434230586460716, guid: a289bc7cfceb64a458e49228a725a858, type: 3} + _effectToStartPointPrefab: {fileID: 5683785839794909112, guid: 2c890b010dd12d94db099e24d10c8a1b, type: 3} --- !u!1 &230066662 GameObject: m_ObjectHideFlags: 0 @@ -2342,7 +2344,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _towerManager: {fileID: 497353759} - _effectPrefab: {fileID: 3088813161724301973, guid: 5a0ed38b36d2e47a8896d30875d6dfe1, type: 3} + _effectToDicePrefab: {fileID: 3088813161724301973, guid: 5a0ed38b36d2e47a8896d30875d6dfe1, type: 3} + _effectToBossPrefab: {fileID: 1970522907599590335, guid: a82133e59f981a0488cf3fbece92daf7, type: 3} --- !u!1 &1237742221 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Boss/EffectRotate.cs b/Assets/Scripts/Boss/EffectRotate.cs new file mode 100644 index 0000000..2f75540 --- /dev/null +++ b/Assets/Scripts/Boss/EffectRotate.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRotate : MonoBehaviour +{ + // Update is called once per frame + void Update() + { + transform.Rotate(0,0,-1); + } +} diff --git a/Assets/Scripts/Boss/EffectRotate.cs.meta b/Assets/Scripts/Boss/EffectRotate.cs.meta new file mode 100644 index 0000000..4e95a38 --- /dev/null +++ b/Assets/Scripts/Boss/EffectRotate.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d34f845691e092e45ba3e563acdc7018 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Boss/SkillSilence.cs b/Assets/Scripts/Boss/SkillSilence.cs index 3ad1c11..eacdd22 100644 --- a/Assets/Scripts/Boss/SkillSilence.cs +++ b/Assets/Scripts/Boss/SkillSilence.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; +using UnityEngine.Serialization; using Random = UnityEngine.Random; public partial class SkillSilence: ASkills // IO @@ -13,7 +14,8 @@ public partial class SkillSilence: ASkills // IO public partial class SkillSilence // SerializeField { [SerializeField] private TowerManager _towerManager; - [SerializeField] private GameObject _effectPrefab; + [SerializeField] private GameObject _effectToDicePrefab; + [SerializeField] private GameObject _effectToBossPrefab; } public partial class SkillSilence // MonoBehaviour @@ -69,12 +71,14 @@ IEnumerator Silence() _towers.Remove(_disabledTowers[i]); } Tower target = _towers[Random.Range(0, _towers.Count)]; - _effectObjects.Add(Instantiate(_effectPrefab, target.transform.position, target.transform.rotation)); + _effectObjects.Add(Instantiate(_effectToDicePrefab, target.transform.position, target.transform.rotation)); target.DisableTower(); _disabledTowers.Add(target); _boss.StopMove(); + GameObject bossEffect = Instantiate(_effectToBossPrefab, _boss.transform.position, _boss.transform.rotation); yield return new WaitForSeconds(_moveStopTime); _boss.StartMove(); + Destroy(bossEffect); } _coroutine = StartCoroutine(Silence()); } diff --git a/Assets/Scripts/Boss/SkillSummonEnemy.cs b/Assets/Scripts/Boss/SkillSummonEnemy.cs index 59855c5..639695e 100644 --- a/Assets/Scripts/Boss/SkillSummonEnemy.cs +++ b/Assets/Scripts/Boss/SkillSummonEnemy.cs @@ -12,6 +12,8 @@ public partial class SkillSummonEnemy : ASkills // IO public partial class SkillSummonEnemy // SerializeField { [SerializeField] private EnemyManager _enemyManager; + [SerializeField] private GameObject _effectToBossPrefab; + [SerializeField] private GameObject _effectToStartPointPrefab; } public partial class SkillSummonEnemy // MonoBehaviour @@ -36,13 +38,17 @@ public partial class SkillSummonEnemy private void _Skill(Boss boss) { _boss = boss; - _coroutine = StartCoroutine(SummonEnemy()); + _coroutine = StartCoroutine(_SummonEnemy()); } - IEnumerator SummonEnemy() + IEnumerator _SummonEnemy() { yield return new WaitForSeconds(_skillCooltime); _boss.StopMove(); + GameObject effectToBoss = Instantiate(_effectToBossPrefab, _boss.transform.position, _boss.transform.rotation); + GameObject effectToStartPoint = Instantiate(_effectToStartPointPrefab, _enemyManager.enemyLine.wayPoints[0].transform.position, + _enemyManager.enemyLine.wayPoints[0].transform.rotation); + _enemyManager.CreateEnemy(0, _boss.hpOffset); yield return new WaitForSeconds(_spawnDelay); _enemyManager.CreateEnemy(0, _boss.hpOffset); @@ -50,6 +56,8 @@ IEnumerator SummonEnemy() _enemyManager.CreateEnemy(1, _boss.hpOffset); yield return new WaitForSeconds(_moveStopTime); _boss.StartMove(); - _coroutine = StartCoroutine(SummonEnemy()); + Destroy(effectToBoss); + Destroy(effectToStartPoint); + _coroutine = StartCoroutine(_SummonEnemy()); } }