이펙트 추가
This commit is contained in:
parent
c50f834374
commit
6db4922fd9
|
|
@ -8,7 +8,7 @@
|
||||||
//Knockback 타격 된 적을 일정 거리 만큼 밀쳐냅니다.
|
//Knockback 타격 된 적을 일정 거리 만큼 밀쳐냅니다.
|
||||||
//DoubleShot 같은 방향으로 발사되는 투사체의 수량이 증가합니다. (※연속 발사)
|
//DoubleShot 같은 방향으로 발사되는 투사체의 수량이 증가합니다. (※연속 발사)
|
||||||
Explosion 피격 된 대상을 처치하면 일정 범위에 피해를 입힙니다. (중첩 시 피해량과 범위가 증가)
|
Explosion 피격 된 대상을 처치하면 일정 범위에 피해를 입힙니다. (중첩 시 피해량과 범위가 증가)
|
||||||
Stun 피해를 입힌 적을 일정 시간(=0.5초) 기절 시킵니다. (※보스 몬스터에게는 적용 안됨)
|
//Stun 피해를 입힌 적을 일정 시간(=0.5초) 기절 시킵니다. (※보스 몬스터에게는 적용 안됨)
|
||||||
//Bounce 피격 된 대상이 있을 경우, 일정 범위 내 적에게 투사체 1개가 추가로 발사됩니다.
|
//Bounce 피격 된 대상이 있을 경우, 일정 범위 내 적에게 투사체 1개가 추가로 발사됩니다.
|
||||||
//ArrowUpDown 투사체에 적이 명중할 경우 상/하 방향으로 투사체가 1개씩 발사됩니다.
|
//ArrowUpDown 투사체에 적이 명중할 경우 상/하 방향으로 투사체가 1개씩 발사됩니다.
|
||||||
//ArrowLeftRight 투사체에 적이 명중할 경우 좌/우 방향으로 투사체가 1개씩 발사됩니다.
|
//ArrowLeftRight 투사체에 적이 명중할 경우 좌/우 방향으로 투사체가 1개씩 발사됩니다.
|
||||||
|
|
|
||||||
|
|
@ -5267,6 +5267,7 @@ RectTransform:
|
||||||
- {fileID: 4565446678480095036}
|
- {fileID: 4565446678480095036}
|
||||||
- {fileID: 6585150402215888903}
|
- {fileID: 6585150402215888903}
|
||||||
- {fileID: 5061678075927086196}
|
- {fileID: 5061678075927086196}
|
||||||
|
- {fileID: 3055112072941494986}
|
||||||
- {fileID: 4111377606315435504}
|
- {fileID: 4111377606315435504}
|
||||||
- {fileID: 4111377605452252100}
|
- {fileID: 4111377605452252100}
|
||||||
- {fileID: 4111377605869284182}
|
- {fileID: 4111377605869284182}
|
||||||
|
|
@ -6007,6 +6008,41 @@ MonoBehaviour:
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &4277682987248411264
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3055112072941494986}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Effect
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3055112072941494986
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4277682987248411264}
|
||||||
|
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: 4111377606588400904}
|
||||||
|
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!1 &4278503492291150641
|
--- !u!1 &4278503492291150641
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e0a897f0a0d5cb44bbfa856907eb29a8
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3a419e020e7fd1c4c8856996891d0e00
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -17543,6 +17543,11 @@ RectTransform:
|
||||||
m_CorrespondingSourceObject: {fileID: 4111377606588400904, guid: 7a72290f58c260649a424bb4dd1d8726, type: 3}
|
m_CorrespondingSourceObject: {fileID: 4111377606588400904, guid: 7a72290f58c260649a424bb4dd1d8726, type: 3}
|
||||||
m_PrefabInstance: {fileID: 73956442}
|
m_PrefabInstance: {fileID: 73956442}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!224 &73956444 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3055112072941494986, guid: 7a72290f58c260649a424bb4dd1d8726, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 73956442}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &74615790
|
--- !u!1 &74615790
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -292226,6 +292231,7 @@ GameObject:
|
||||||
- component: {fileID: 1293320786}
|
- component: {fileID: 1293320786}
|
||||||
- component: {fileID: 1293320785}
|
- component: {fileID: 1293320785}
|
||||||
- component: {fileID: 1293320787}
|
- component: {fileID: 1293320787}
|
||||||
|
- component: {fileID: 1293320788}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Mgr
|
m_Name: Mgr
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -292276,6 +292282,20 @@ MonoBehaviour:
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
go_child: {fileID: 0}
|
go_child: {fileID: 0}
|
||||||
|
--- !u!114 &1293320788
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1293320784}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4ab514d032753734e9aaa7b8c5091da1, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
go_child: {fileID: 0}
|
||||||
|
tf_parent: {fileID: 73956444}
|
||||||
--- !u!1 &1293420715
|
--- !u!1 &1293420715
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ public class IngameMgr : MonoBehaviourSingletonTemplate<IngameMgr>
|
||||||
{
|
{
|
||||||
foreach (var kv in mob_pools) foreach (var mob in kv.Value) mob.Off();
|
foreach (var kv in mob_pools) foreach (var mob in kv.Value) mob.Off();
|
||||||
ProjectileMgr.Ins.AllOff();
|
ProjectileMgr.Ins.AllOff();
|
||||||
|
EffectMgr.Ins.AllOff();
|
||||||
|
|
||||||
CurStageData = table_stageconfig.Ins.Get_Data(10001);
|
CurStageData = table_stageconfig.Ins.Get_Data(10001);
|
||||||
CurUnitData = table_unit.Ins.Get_Data(1001);
|
CurUnitData = table_unit.Ins.Get_Data(1001);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class EffectMgr : MonoBehaviourSingletonTemplate<EffectMgr>
|
||||||
|
{
|
||||||
|
[Header("Pool Setting")]
|
||||||
|
public Transform tf_parent;
|
||||||
|
|
||||||
|
Dictionary<string, List<GameObject>> dic_effect= new Dictionary<string, List<GameObject>>();
|
||||||
|
|
||||||
|
public void AllOff()
|
||||||
|
{
|
||||||
|
// 부모 아래에 있는 모든 Projectile 검색
|
||||||
|
var keys = dic_effect.Keys.ToList();
|
||||||
|
for (int i = 0; i < keys.Count; i++)
|
||||||
|
dic_effect[keys[i]].ForEach(f=>f.SetActive(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Show_Effect(string effectpath, Vector2 pos, float scale = 100f)
|
||||||
|
{
|
||||||
|
if (!dic_effect.ContainsKey(effectpath))
|
||||||
|
dic_effect.Add(effectpath, new List<GameObject>());
|
||||||
|
|
||||||
|
GameObject effect = null;
|
||||||
|
|
||||||
|
for (int i = 0; i < dic_effect[effectpath].Count; i++)
|
||||||
|
{
|
||||||
|
if (!dic_effect[effectpath][i].activeSelf)
|
||||||
|
{
|
||||||
|
effect = dic_effect[effectpath][i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (effect == null)
|
||||||
|
{
|
||||||
|
effect = DSUtil.Get_Clone(effectpath, tf_parent);
|
||||||
|
dic_effect[effectpath].Add(effect);
|
||||||
|
}
|
||||||
|
|
||||||
|
effect.transform.position = pos;
|
||||||
|
effect.transform.localScale = Vector3.one * scale;
|
||||||
|
effect.gameObject.SetActive(true);
|
||||||
|
|
||||||
|
StartCoroutine(Co_Off(effect));
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator Co_Off(GameObject effect)
|
||||||
|
{
|
||||||
|
yield return new WaitForSeconds(1f);
|
||||||
|
effect.SetActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4ab514d032753734e9aaa7b8c5091da1
|
||||||
|
|
@ -170,6 +170,8 @@ public class Projectile : MonoBehaviour
|
||||||
|
|
||||||
void Check_Hit(Collider2D collision)
|
void Check_Hit(Collider2D collision)
|
||||||
{
|
{
|
||||||
|
EffectMgr.Ins.Show_Effect("Effect/ArrowHit", transform.position);
|
||||||
|
|
||||||
if (m_ProjectileData.IsPC)
|
if (m_ProjectileData.IsPC)
|
||||||
{
|
{
|
||||||
switch(collision.tag)
|
switch(collision.tag)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue