몬스터 스테이지 추가 스탯 적용
This commit is contained in:
parent
1561b52fe1
commit
2948b187a3
|
|
@ -1,10 +1,9 @@
|
|||
테이블 연결
|
||||
- 스테이지
|
||||
- 웨이브
|
||||
- 몬스터
|
||||
- 유닛
|
||||
- 몬스터
|
||||
- 투사체(이펙트)
|
||||
타이머 적용
|
||||
- 시간 다 되면 패배
|
||||
승리 화면
|
||||
경험치 획득
|
||||
레벨 업 및 스킬 선택
|
||||
스킬 15종
|
||||
|
||||
몬스터 이동방식 구현
|
||||
// - 직진
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
[{"n_MonsterTypeID":"2001","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2001","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2002","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2002","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2003","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Melee","f_AttackRange":"2","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3101","s_MonsterPrefabPath":"2003","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"},{"n_MonsterTypeID":"2004","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2004","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2005","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2005","f_Scale":"0.15","e_ShieldType":"Rotation","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2006","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Range","f_AttackRange":"4.5","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3102","s_MonsterPrefabPath":"2006","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"}]
|
||||
[{"n_MonsterTypeID":"2001","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2001","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2002","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2002","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2003","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Melee","f_AttackRange":"2","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3101","s_MonsterPrefabPath":"2003","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"},{"n_MonsterTypeID":"2004","e_MonsterType":"Monster","n_DefaultAttack":"10","n_DefaultHp":"40","n_DropExp":"1","e_UnityType":"Melee","f_AttackRange":"1.2","f_AttackDelay":"1.1","f_MoveSpeed":"1","e_MoveType":"Static","n_ProjectileID":"3101","s_MonsterPrefabPath":"2004","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2005","e_MonsterType":"Monster","n_DefaultAttack":"20","n_DefaultHp":"60","n_DropExp":"1","e_UnityType":"Range","f_AttackRange":"5","f_AttackDelay":"2","f_MoveSpeed":"1.2","e_MoveType":"Static","n_ProjectileID":"3102","s_MonsterPrefabPath":"2005","f_Scale":"0.15","e_ShieldType":"None","n_NormalShieldCount":"2","n_InvinityShieldCount":"2"},{"n_MonsterTypeID":"2006","e_MonsterType":"Boss","n_DefaultAttack":"30","n_DefaultHp":"60","n_DropExp":"3","e_UnityType":"Range","f_AttackRange":"4.5","f_AttackDelay":"1.5","f_MoveSpeed":"1.2","e_MoveType":"Random","n_ProjectileID":"3102","s_MonsterPrefabPath":"2006","f_Scale":"0.3","e_ShieldType":"Rotation","n_NormalShieldCount":"1","n_InvinityShieldCount":"1"}]
|
||||
|
|
@ -1 +1 @@
|
|||
[{"n_UnitID":"1001","n_DefaultAttack":"1","n_DefaultHp":"500","f_AttackSpeed":"1.25","n_DefaultProjectileCount":"1","n_ProjectileID":"3001","s_UnitPrefabPath":"DefaultUnit"}]
|
||||
[{"n_UnitID":"1001","n_DefaultAttack":"25","n_DefaultHp":"500","f_AttackSpeed":"1.25","n_DefaultProjectileCount":"1","n_ProjectileID":"3001","s_UnitPrefabPath":"DefaultUnit"}]
|
||||
Binary file not shown.
|
|
@ -36,7 +36,8 @@ public class MobActor : MonoBehaviour
|
|||
return poolKey;
|
||||
}
|
||||
|
||||
ObscuredInt _HP; int m_HP { get { return _HP; } set { _HP = value; _HP.RandomizeCryptoKey(); } }
|
||||
ObscuredInt _Attack; public int m_Attack { get { return _Attack; } set { _Attack = value; _Attack.RandomizeCryptoKey(); } }
|
||||
ObscuredInt _HP; public int m_HP { get { return _HP; } set { _HP = value; _HP.RandomizeCryptoKey(); } }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
|
@ -65,7 +66,7 @@ public class MobActor : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
public void Set(MonsterTableData data, float fenceY)
|
||||
public void Set(bool isboss, MonsterTableData data, float fenceY)
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
if (m_HUD_HP == null)
|
||||
|
|
@ -75,7 +76,10 @@ public class MobActor : MonoBehaviour
|
|||
m_Data = data;
|
||||
FenceY = fenceY;
|
||||
m_attackTimer = m_Data.f_AttackDelay;
|
||||
m_HP = m_Data.n_DefaultHp;
|
||||
|
||||
var curstagedata = IngameMgr.Ins.Get_CurStageTData();
|
||||
m_Attack = m_Data.n_DefaultAttack + (isboss ? curstagedata.n_DefaultBossAttack : curstagedata.n_DefaultEnemyAttack);
|
||||
m_HP = m_Data.n_DefaultHp + (isboss ? curstagedata.n_DefaultBossHp : curstagedata.n_DefaultEnemyHp);
|
||||
m_HUD_HP.Set(transform, m_HP);
|
||||
m_MobShields.Set(data);
|
||||
}
|
||||
|
|
@ -119,7 +123,7 @@ public class MobActor : MonoBehaviour
|
|||
IsPC = false,
|
||||
m_Data = table_projectile.Ins.Get_Data(m_Data.n_ProjectileID),
|
||||
tf_Start = transform,
|
||||
Dmg = m_Data.n_DefaultAttack
|
||||
Dmg = m_Attack
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,16 +97,12 @@ public class IngameMgr : MonoBehaviourSingletonTemplate<IngameMgr>
|
|||
mobid = CurStageData.list_monster_range[Random.Range(0, CurStageData.list_monster_range.Count)];
|
||||
}
|
||||
|
||||
var mobdata = table_monster.Ins.Get_Data(mobid);
|
||||
GetMob(mobdata).Set(mobdata, tf_fence.position.y);
|
||||
MakeMob(false, table_monster.Ins.Get_Data(mobid));
|
||||
}
|
||||
}
|
||||
|
||||
if (CurStageData.dic_boss.ContainsKey(m_Wave))
|
||||
{
|
||||
var mobdata = table_monster.Ins.Get_Data(CurStageData.dic_boss[m_Wave]);
|
||||
GetMob(mobdata).Set(mobdata, tf_fence.position.y);
|
||||
}
|
||||
MakeMob(true, table_monster.Ins.Get_Data(CurStageData.dic_boss[m_Wave]));
|
||||
|
||||
yield return new WaitForSeconds(wavedata.f_NextWaveDelay);
|
||||
++m_Wave;
|
||||
|
|
@ -114,7 +110,7 @@ public class IngameMgr : MonoBehaviourSingletonTemplate<IngameMgr>
|
|||
StartCoroutine(Co_MakeMob());
|
||||
}
|
||||
|
||||
MobActor GetMob(MonsterTableData data)
|
||||
void MakeMob(bool isboss, MonsterTableData data)
|
||||
{
|
||||
string key = data.s_MonsterPrefabPath;
|
||||
|
||||
|
|
@ -141,8 +137,7 @@ public class IngameMgr : MonoBehaviourSingletonTemplate<IngameMgr>
|
|||
mob.transform.SetParent(tfs_mobparent[Random.Range(0, tfs_mobparent.Length)], false);
|
||||
mob.transform.localPosition = Vector3.zero;
|
||||
mob.transform.localScale = Vector3.one * data.f_Scale;
|
||||
mob.Set(data, tf_fence.position.y);
|
||||
return mob;
|
||||
mob.Set(isboss,data, tf_fence.position.y);
|
||||
}
|
||||
|
||||
public void Get_Dmg(int dmg)
|
||||
|
|
|
|||
Loading…
Reference in New Issue