Browse Source

漂浮效果改成预制体

SZAND\msx_2 1 year ago
parent
commit
f316e47a03

+ 106 - 0
ActionTowerDefense/Assets/Resources/Prefab/FloatEffectRange.prefab

@@ -0,0 +1,106 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &417478504669294145
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6831563428749086452}
+  - component: {fileID: 8409860499344876540}
+  - component: {fileID: 3655836912165546929}
+  - component: {fileID: 8741738695297186910}
+  m_Layer: 0
+  m_Name: FloatEffectRange
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6831563428749086452
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 417478504669294145}
+  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: 2968649781918792408}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &8409860499344876540
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 417478504669294145}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 30, y: 100, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &3655836912165546929
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 417478504669294145}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e4ee37ae96a7315419ecbfe1bb3c43e9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  height: 7
+--- !u!114 &8741738695297186910
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 417478504669294145}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0a7f6757c5f16cf47bf010e81452e6b7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1778035823894722524
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2968649781918792408}
+  m_Layer: 0
+  m_Name: FloatEffect
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &2968649781918792408
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1778035823894722524}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -17.737343, y: -0.91955495, z: -0.03686603}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 6831563428749086452}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

+ 7 - 0
ActionTowerDefense/Assets/Resources/Prefab/FloatEffectRange.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 243eb0eff66414445990654286d861d1
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
ActionTowerDefense/Assets/Resources/Prefab/Player.prefab

@@ -958,7 +958,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 01b7616677d36984185e7836d04c5b0b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  FloatEffect: {fileID: 0}
+  floatEffect: {fileID: 417478504669294145, guid: 243eb0eff66414445990654286d861d1, type: 3}
   currentSpirit: 1
 --- !u!1 &3571941039716665622
 GameObject:

+ 15 - 60
ActionTowerDefense/Assets/Resources/Prefab/Spirits_Float.prefab

@@ -197,65 +197,6 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   imgHp: {fileID: 3266580543050502037}
---- !u!1 &2221043710688135367
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 5032495223408797810}
-  - component: {fileID: 8046884224131155322}
-  - component: {fileID: 3000999671257713975}
-  m_Layer: 0
-  m_Name: EffectCollider
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &5032495223408797810
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2221043710688135367}
-  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: 6561999689701501378}
-  m_RootOrder: 7
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!65 &8046884224131155322
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2221043710688135367}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 1
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Size: {x: 30, y: 100, z: 1}
-  m_Center: {x: 0, y: 0, z: 0}
---- !u!114 &3000999671257713975
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2221043710688135367}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: e4ee37ae96a7315419ecbfe1bb3c43e9, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  height: 7
 --- !u!1 &2234394376273647362
 GameObject:
   m_ObjectHideFlags: 0
@@ -745,7 +686,6 @@ Transform:
   - {fileID: 8482269351142858204}
   - {fileID: 776105162125788029}
   - {fileID: 6220414675483084992}
-  - {fileID: 5032495223408797810}
   m_Father: {fileID: 5769591908339262981}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -982,6 +922,7 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 8639832132491289354}
+  - component: {fileID: 3290368322717680010}
   - component: {fileID: 8639832132491289351}
   - component: {fileID: 8639832132491289349}
   m_Layer: 7
@@ -1009,6 +950,19 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3290368322717680010
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8639832132491289359}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e4ee37ae96a7315419ecbfe1bb3c43e9, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  height: 7
 --- !u!114 &8639832132491289351
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1105,6 +1059,7 @@ MonoBehaviour:
   canFly: 1
   sortingOrder: 2000
   playerID: 0
+  hasEffect: 0
 --- !u!54 &8639832132491289349
 Rigidbody:
   m_ObjectHideFlags: 0

+ 1 - 0
ActionTowerDefense/Assets/Scripts/Demonic.cs

@@ -14,6 +14,7 @@ public class Demonic : MoveCharacter
     public int sortingOrder = 0;
 
     public int playerID;
+    public bool hasEffect = false;
 
     private void Awake()
     {

+ 13 - 2
ActionTowerDefense/Assets/Scripts/PlayerController.cs

@@ -371,7 +371,7 @@ public class PlayerController : MoveCharacter
         }
         if (isSpiritSummon)
         {
-            Summon((int)spirits.currentSpirit + 3);
+            Summon(3);
             return true;
         }
         return false;
@@ -507,7 +507,7 @@ public class PlayerController : MoveCharacter
         if (btnSpiritSummon)
         {
             cacheSummonTime = totalCacheSummonTime;
-            cacheSummonId = (int)spirits.currentSpirit + 3;
+            cacheSummonId = 3;
         }
     }
 
@@ -1171,6 +1171,17 @@ public class PlayerController : MoveCharacter
                 demonic.Turn();
             }
         }
+        if (id == 3)
+        {
+            if ((int)spirits.currentSpirit == 0)
+            {
+                if (!demonicObj.GetComponent<Demonic>().hasEffect)
+                {
+                    demonicObj.GetComponent<Demonic>().hasEffect = true;
+                    Instantiate(spirits.floatEffect, demonicObj.transform.position, new Quaternion(0, 0, 0, 0), demonicObj.transform);
+                }
+            }
+        }
         demonic.Init();
         demonic.SetSortingOrder(demonic.sortingOrder + demonicId[id]);
         demonicId[id]++;

+ 25 - 0
ActionTowerDefense/Assets/Scripts/Spirits/FloatEffect.cs

@@ -0,0 +1,25 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class FloatEffect : MonoBehaviour
+{
+    private void Start()
+    {
+        Invoke("disappear", 0.2f);
+    }
+
+    private void disappear()
+    {
+        GetComponent<Collider>().enabled = false;
+    }
+
+    private void OnTriggerEnter(Collider other)
+    {
+        if (other.gameObject.layer == 8)
+        {
+            GameObject ga = other.transform.parent.parent.parent.gameObject;
+            ga.GetComponent<Enemy>().FloatStateOn();
+        }
+    }
+}

+ 11 - 0
ActionTowerDefense/Assets/Scripts/Spirits/FloatEffect.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0a7f6757c5f16cf47bf010e81452e6b7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 1
ActionTowerDefense/Assets/Scripts/Spirits/Spirits.cs

@@ -12,7 +12,7 @@ public class Spirits : MonoBehaviour
         Invisible = 3,  //隐身
     }
 
-    public GameObject FloatEffect;  //漂浮特效预制体
+    public GameObject floatEffect;  //漂浮特效预制体
 
     public SpiritType currentSpirit = SpiritType.Float;
 
@@ -23,6 +23,7 @@ public class Spirits : MonoBehaviour
         {
             case SpiritType.Float:
                 //特效用预制体做
+                
                 break;
             case SpiritType.Assassin:
                 break;

+ 4 - 22
ActionTowerDefense/Assets/Scripts/Spirits/Spirits_Float.cs

@@ -4,8 +4,6 @@ using UnityEngine;
 
 public class Spirits_Float : MonoBehaviour
 {
-    private bool once = true;  //仅一次出场效果
-    private GameObject body;
     private bool isRise = true;
     public float height;    //升到哪个高度后停止
     private float curHeight;
@@ -14,30 +12,14 @@ public class Spirits_Float : MonoBehaviour
 
     private void Start()
     {
-        body = transform.parent.parent.parent.gameObject;
-        origPos = body.transform.position;
+        origPos = transform.position;
         curHeight = origPos.y;
-        Invoke("disappear", 0.2f);
-    }
-
-    private void disappear()
-    {
-        GetComponent<Collider>().enabled = false;
-    }
-
-    private void OnTriggerEnter(Collider other)
-    {
-        if (other.gameObject.layer == 8)
-        {
-            GameObject ga = other.transform.parent.parent.parent.gameObject;
-            ga.GetComponent<Enemy>().FloatStateOn();
-        }
     }
 
     private void MoveToHeight()
     {
         curHeight = Mathf.SmoothDamp(curHeight, height, ref speed, 0.02f);
-        body.transform.position = new Vector3(origPos.x, curHeight, origPos.z);
+        transform.position = new Vector3(origPos.x, curHeight, origPos.z);
     }
 
     private void Update()
@@ -45,11 +27,11 @@ public class Spirits_Float : MonoBehaviour
         if (isRise)
         {
             MoveToHeight();
-            if(curHeight-height<=0.02f && curHeight - height >= -0.02f)
+            if (curHeight - height <= 0.02f && curHeight - height >= -0.02f)
             {
                 isRise = false;
                 curHeight = height;
-                body.transform.position = new Vector3(origPos.x, height, origPos.z);
+                transform.position = new Vector3(origPos.x, height, origPos.z);
             }
         }
     }