소스 검색

变身隐身爆炸后效果保留在原地

LAPTOP-OM1V99U2\永远de小亡灵 1 년 전
부모
커밋
da86cf85e2

+ 5 - 2
ActionTowerDefense/Assets/Resources/Prefab/ESpirits_Invisible.prefab

@@ -279,6 +279,8 @@ MonoBehaviour:
   hasHpUp: 0
   beLarger: 0
   attackToFloat: 0
+  isSoulUnstable: 0
+  soulUnstableTime: 0
   canMove: 0
   foot: {fileID: 2437299196663985756}
   extraRiseGravity: -28.8
@@ -327,6 +329,8 @@ MonoBehaviour:
   playerOut: []
   isInvisible: 0
   canNotChangeHurt: 0
+  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
+  soulStartSpeed: 1
   id: 0
   jumpSpeed: 10
   searchState: 0
@@ -343,8 +347,6 @@ MonoBehaviour:
   minMoveSpeed: 8
   runSpeed: 0
   dropSoul: 3
-  soulPrefab: {fileID: 1723151111827507807, guid: e2b65aa482f2f1447a4074208d72b778, type: 3}
-  soulStartSpeed: 1
   dropSoulAngle: 90
   noOnSearchState: 1
   isFindingPlayer: 0
@@ -755,6 +757,7 @@ MonoBehaviour:
   boomSoulNumber: 0
   soulCollector: {fileID: 0}
   boomScale: 0
+  parent: {fileID: 421881387528726774}
 --- !u!1 &8203964573996106666
 GameObject:
   m_ObjectHideFlags: 0

+ 5 - 0
ActionTowerDefense/Assets/Resources/Prefab/Transfiguration/Trans_Invisible.prefab

@@ -294,6 +294,8 @@ MonoBehaviour:
   hasHpUp: 0
   beLarger: 0
   attackToFloat: 0
+  isSoulUnstable: 0
+  soulUnstableTime: 0
   canMove: 0
   foot: {fileID: 2437299196663985756}
   extraRiseGravity: -28.8
@@ -342,6 +344,8 @@ MonoBehaviour:
   playerOut: []
   isInvisible: 0
   canNotChangeHurt: 0
+  soulPrefab: {fileID: 0}
+  soulStartSpeed: 1
   id: 0
   costMp: 1
   totalSummonTime: 0.5
@@ -1232,6 +1236,7 @@ MonoBehaviour:
   boomSoulNumber: 0
   soulCollector: {fileID: 1289604965499631171}
   boomScale: 0
+  parent: {fileID: 4824124076759881995}
 --- !u!1001 &3878033803522684157
 PrefabInstance:
   m_ObjectHideFlags: 0

+ 33 - 0
ActionTowerDefense/Assets/Scenes/SampleScene.unity

@@ -432,6 +432,8 @@ MonoBehaviour:
   hasHpUp: 0
   beLarger: 0
   attackToFloat: 0
+  isSoulUnstable: 0
+  soulUnstableTime: 0
   ropes: {fileID: 0}
   ropePrefab: {fileID: 616841038056457886, guid: db20d049c85578a4db3cef14a52b0f7b, type: 3}
 --- !u!4 &317380084
@@ -895,6 +897,37 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
+--- !u!1 &580427336
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 580427337}
+  m_Layer: 0
+  m_Name: SoulBoom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &580427337
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 580427336}
+  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: 0}
+  m_RootOrder: 12
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &583626553
 GameObject:
   m_ObjectHideFlags: 0

+ 8 - 0
ActionTowerDefense/Assets/Scripts/MoveCharacter.cs

@@ -270,6 +270,14 @@ public class MoveCharacter : Character
         {
             CharacterFloat();
         }
+        if (isSoulUnstable)
+        {
+            soulUnstableTime -= Time.deltaTime;
+            if(soulUnstableTime < 0)
+            {
+                isSoulUnstable = false;
+            }
+        }
     }
 
     public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)

+ 6 - 1
ActionTowerDefense/Assets/Scripts/Spirits/SoulBoom.cs

@@ -14,6 +14,11 @@ public class SoulBoom : MonoBehaviour
     public List<Character> characters = new List<Character>();
     public bool isTransfiguration;
     public float soulUnstableTime;
+    public Transform parent;
+    private void Start()
+    {
+        parent = GameObject.Find("SoulBoom").transform;
+    }
     private void Update()
     {
         time += Time.deltaTime;
@@ -28,7 +33,7 @@ public class SoulBoom : MonoBehaviour
             {
                 if (!isBoom)
                 {
-
+                    transform.parent = parent;
                     for (int i = 0; i < characters.Count; i++)
                     {
                         if (characters[i].state == CharacterState.Die)

+ 3 - 2
ActionTowerDefense/Assets/Scripts/Spirits/SoulFollowEffect.cs

@@ -23,6 +23,7 @@ public class SoulFollowEffect : MonoBehaviour
     public int boomSoulNumber;
     public InvisibleSoulCollector soulCollector;
     public float boomScale;
+    public Transform parent;
     private void Awake()
     {
         if (!isTransfiguration)
@@ -81,16 +82,16 @@ public class SoulFollowEffect : MonoBehaviour
     {
         GameObject boomSoul = Instantiate(soulBoom.gameObject);
         boomSoul.transform.position = transform.position;
+        boomSoul.transform.parent = parent;
         if (isTransfiguration)
         {
-            boomSoul.transform.parent = transform;
             Transform bomb = boomSoul.transform.GetChild(0);
             boomSoul.transform.localScale = Vector3.one * boomScale;
             for (int i = 0; i < bomb.childCount; i++)
             {
                 bomb.GetChild(i).localScale = Vector3.one * boomScale;
             }
-            
+
         }
         
         boomSoul.SetActive(true);