몹 일부 정리, 수상한 미궁 작업 중... 2
This commit is contained in:
parent
a20ab649ba
commit
aa8315eb78
|
|
@ -51,6 +51,7 @@ messageinfo 엄청 느린 버그
|
|||
- 결과 화면 (승리 보상 지급)
|
||||
|
||||
수상한 미궁
|
||||
- 맵 벽과 플레이 사이 더 멀게 만들자
|
||||
- 결과 화면 (보상 지급)
|
||||
- 랭킹 (플레이팹 v2 연결)
|
||||
- 맵 벽과 플레이 사이 더 멀게 만들자
|
||||
- 몬스터 생성 (한 층당 몇 마리? 6스테이지마다 보스는 한 마리만?)
|
||||
|
|
@ -1 +1 @@
|
|||
[{"e_DungeonType": "맵 종류", "n_MapLv": "맵 Lv", "n_MobCount": "등장 몬스터 수", "n_SpawnID": "AppearTable", "n_MobID": "MonsterListTable", "f_MakeGap": "생성 주기", "f_Time": "제한 시간(초)"}, {"e_DungeonType": "d1_Mimic", "n_MapLv": "1", "n_MobCount": "50", "n_SpawnID": "1", "n_MobID": "1001", "f_MakeGap": "0.4", "f_Time": "30"}, {"e_DungeonType": "d1_Mimic", "n_MapLv": "2", "n_MobCount": "60", "n_SpawnID": "2", "n_MobID": "1001", "f_MakeGap": "0.4", "f_Time": "30"}, {"e_DungeonType": "d2_Maze", "n_MapLv": "1", "n_MobCount": "0", "n_SpawnID": "1", "n_MobID": "1002", "f_MakeGap": "0", "f_Time": "90"}, {"e_DungeonType": "d3_Nightmare", "n_MapLv": "1", "n_MobCount": "0", "n_SpawnID": "1", "n_MobID": "1003", "f_MakeGap": "0", "f_Time": "90"}, {"e_DungeonType": "d4_Wave", "n_MapLv": "1", "n_MobCount": "0", "n_SpawnID": "1", "n_MobID": "1004", "f_MakeGap": "0", "f_Time": "1800"}]
|
||||
[{"e_DungeonType": "맵 종류", "n_MapLv": "맵 Lv", "n_MobCount": "등장 몬스터 수", "n_SpawnID": "AppearTable", "n_MobID": "MonsterListTable", "f_MakeGap": "생성 주기", "f_Time": "제한 시간(초)"}, {"e_DungeonType": "d1_Mimic", "n_MapLv": "1", "n_MobCount": "50", "n_SpawnID": "1", "n_MobID": "1001", "f_MakeGap": "0.4", "f_Time": "30"}, {"e_DungeonType": "d1_Mimic", "n_MapLv": "2", "n_MobCount": "60", "n_SpawnID": "2", "n_MobID": "1001", "f_MakeGap": "0.4", "f_Time": "30"}, {"e_DungeonType": "d2_Maze", "n_MapLv": "1", "n_MobCount": "20", "n_SpawnID": "1", "n_MobID": "0", "f_MakeGap": "0", "f_Time": "90"}, {"e_DungeonType": "d3_Nightmare", "n_MapLv": "1", "n_MobCount": "0", "n_SpawnID": "1", "n_MobID": "1003", "f_MakeGap": "0", "f_Time": "90"}, {"e_DungeonType": "d4_Wave", "n_MapLv": "1", "n_MobCount": "0", "n_SpawnID": "1", "n_MobID": "1004", "f_MakeGap": "0", "f_Time": "1800"}]
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -371,7 +371,7 @@ public class Actor : MyCoroutine
|
|||
}
|
||||
|
||||
// 몬스터 데미지 추가
|
||||
if (IsRole(eRole.Mob))
|
||||
if (IsSubRole(eSubRol.None))
|
||||
{
|
||||
Check_CCAddRate(eCC.MobDamage, _dinfo.Beater);
|
||||
++dic_ccAddRate[eCC.MobDamage][_dinfo.Beater];
|
||||
|
|
@ -382,7 +382,7 @@ public class Actor : MyCoroutine
|
|||
|
||||
_dinfo.PiercingDmg += beaterStat.Get_Stat(eStat.BaseDmg) * beaterStat.Get_Stat(eStat.MOB_Piercing_Multiplier);
|
||||
}
|
||||
else if (IsRole(eRole.Boss))
|
||||
else if (IsSubRole(eSubRol.Boss))
|
||||
{
|
||||
Check_CCAddRate(eCC.BossDamage, _dinfo.Beater);
|
||||
++dic_ccAddRate[eCC.BossDamage][_dinfo.Beater];
|
||||
|
|
@ -517,9 +517,7 @@ public class Actor : MyCoroutine
|
|||
switch (m_Role)
|
||||
{
|
||||
case eRole.Mob:
|
||||
case eRole.Boss:
|
||||
case eRole.OBJ:
|
||||
//MobInfo.Ins.Add_Dead();
|
||||
Off();
|
||||
break;
|
||||
case eRole.PC:
|
||||
|
|
@ -776,6 +774,7 @@ public class Actor : MyCoroutine
|
|||
public bool IsDead() { return DeadStatus || !gameObject.activeInHierarchy; }
|
||||
public bool IsOnlyDead() { return DeadStatus; }
|
||||
public bool IsRole(eRole _role) { return m_Role == _role; }
|
||||
public bool IsSubRole(eSubRol subRol) { return m_SubRole == subRol; }
|
||||
public bool IsEnemy() { return m_Enemy; }
|
||||
public virtual bool IsBerserkPet() { return false; }
|
||||
public virtual bool Get_IsMainPC() { return false; }
|
||||
|
|
@ -874,7 +873,7 @@ public class Actor : MyCoroutine
|
|||
Off_Freeze();
|
||||
|
||||
float knockbackTime = 0f;
|
||||
if ((IsRole(eRole.Mob) || IsRole(eRole.Boss)) && !IsCC())
|
||||
if (IsRole(eRole.Mob) && !IsCC())
|
||||
knockbackTime = table_GlobalValue.Ins.Get_Float("f_KnockbackTime");
|
||||
|
||||
var beaterActor = _dinfo.Beater;
|
||||
|
|
@ -1203,6 +1202,14 @@ public class Actor : MyCoroutine
|
|||
}
|
||||
public void Buff_or_Debuff(eCC cc, double lifeTime, double val, int ival = 0, float fval = 0f)
|
||||
{
|
||||
switch (cc)
|
||||
{
|
||||
case eCC.ATKSPD_Down:
|
||||
case eCC.MOVSPD_Down:
|
||||
if (IsSubRole(eSubRol.Elite)) lifeTime -= lifeTime * 0.2f;
|
||||
else if (IsSubRole(eSubRol.Boss)) lifeTime -= lifeTime * 0.5f;
|
||||
break;
|
||||
}
|
||||
dic_ccData[cc].TimeUpdate = true;
|
||||
dic_ccData[cc].CCTime = lifeTime;
|
||||
dic_ccData[cc].CCDmg = val;
|
||||
|
|
@ -1298,7 +1305,8 @@ public class Actor : MyCoroutine
|
|||
if (_freezeTime < 0.1f) _freezeTime = 0.1f;
|
||||
dic_ccData[eCC.Freeze].CCReduceTime += 0.05f;
|
||||
|
||||
if (IsRole(eRole.Boss) || transform.localScale.x > 2f) Cancel_Freeze(_freezeTime * 0.4f);
|
||||
if (IsSubRole(eSubRol.Boss)) Cancel_Freeze(_freezeTime * 0.5f);
|
||||
else if (IsSubRole(eSubRol.Elite)) Cancel_Freeze(_freezeTime * 0.2f);
|
||||
else if (IsRole(eRole.PC)) Cancel_Freeze(_freezeTime * 0.5f);
|
||||
else Cancel_Freeze(_freezeTime);
|
||||
}
|
||||
|
|
@ -1333,7 +1341,7 @@ public class Actor : MyCoroutine
|
|||
float StunAfterKnockBackTime = 0f;
|
||||
public virtual void KnockBack(double _time, float speed = 4f)
|
||||
{
|
||||
if (IsRole(eRole.OBJ) || IsRole(eRole.Boss) || DSUtil.CheckNull(m_NavMeshAgent) || IsCC()) return;
|
||||
if (IsRole(eRole.OBJ) || IsSubRole(eSubRol.Boss) || DSUtil.CheckNull(m_NavMeshAgent) || IsCC()) return;
|
||||
if (dic_ccData[eCC.KnockBack].CCTime < _time)
|
||||
StartCoroutine(Co_KnockBack(_time, speed));
|
||||
}
|
||||
|
|
@ -1341,7 +1349,6 @@ public class Actor : MyCoroutine
|
|||
{
|
||||
dic_ccData[eCC.KnockBack].CCTime = _time;
|
||||
|
||||
//if (IsRole(eRole.Boss)) _time *= 0.7f;
|
||||
dic_ccData[eCC.KnockBack].CCTime -= dic_ccData[eCC.KnockBack].CCReduceTime;
|
||||
if (dic_ccData[eCC.KnockBack].CCTime < 0.1f) dic_ccData[eCC.KnockBack].CCTime = 0.1f;
|
||||
dic_ccData[eCC.KnockBack].CCReduceTime += 0.05f;
|
||||
|
|
@ -1404,6 +1411,8 @@ public class Actor : MyCoroutine
|
|||
}
|
||||
IEnumerator Co_KnockedAirborne(float _airborneTime)
|
||||
{
|
||||
if (IsSubRole(eSubRol.Elite)) _airborneTime -= _airborneTime * 0.2f;
|
||||
else if (IsSubRole(eSubRol.Boss)) _airborneTime -= _airborneTime * 0.5f;
|
||||
dic_ccData[eCC.KnockedAirborne].CCTime = _airborneTime;
|
||||
|
||||
StopMove_Imm(true);
|
||||
|
|
@ -1438,6 +1447,9 @@ public class Actor : MyCoroutine
|
|||
public void Stun(double time, bool showEffect = false) { StartCoroutine(Co_Stun(time, showEffect)); }
|
||||
IEnumerator Co_Stun(double _time, bool showEffect = false)
|
||||
{
|
||||
if (IsSubRole(eSubRol.Elite)) _time -= _time * 0.2f;
|
||||
else if (IsSubRole(eSubRol.Boss)) _time -= _time * 0.5f;
|
||||
|
||||
m_animation.speed = 1f;
|
||||
//AnimationPlay("stun");
|
||||
var cc = eCC.Stun;
|
||||
|
|
|
|||
|
|
@ -48,14 +48,15 @@ public class MobActor : Actor
|
|||
#endif
|
||||
Set_Warp(Get_position());
|
||||
}
|
||||
public void Set(eRole role, MonsterTableData mobtable, Vector3 pos, Action<int> actDie, int order)
|
||||
public void Set(MonsterTableData mobtable, Vector3 pos, Action<int> actDie, int order)
|
||||
{
|
||||
m_Role = role;
|
||||
m_Role = eRole.Mob;
|
||||
m_SubRole = mobtable.e_MonsterType;
|
||||
m_actDie = actDie;
|
||||
bool IsBoss = IsRole(eRole.Boss);
|
||||
bool IsBoss = IsSubRole(eSubRol.Boss);
|
||||
m_MonsterTableData = mobtable;
|
||||
var scale = m_MonsterTableData.f_DefaultScale;
|
||||
if (!DSUtil.CheckNull(m_MonsterTableData)) transform.localScale = (IsBoss ? 1.3f : 1f) * scale * Vector3.one;
|
||||
if (!DSUtil.CheckNull(m_MonsterTableData)) transform.localScale = scale * Vector3.one;
|
||||
if (!IsBoss) IsBoss = scale > 2f;
|
||||
|
||||
m_AttackType = m_MonsterTableData.e_AttackType;
|
||||
|
|
@ -186,7 +187,7 @@ public class MobActor : Actor
|
|||
{
|
||||
if (m_attackCoolTime > 0f) m_attackCoolTime -= Time.deltaTime;
|
||||
if (m_HitTime > 0f) { m_HitTime -= Time.deltaTime; if (m_attackCoolTime > 0f) return; }
|
||||
if (GoToTargetTime > 0f && IsAutoAIMob()) GoToTargetTime -= Time.deltaTime;
|
||||
if (GoToTargetTime > 0f) GoToTargetTime -= Time.deltaTime;
|
||||
|
||||
//// 일정 시간이 지나면 가장 가까운 적을 다시 찾아봄
|
||||
//if (FindOtherTargetTime > 0f)
|
||||
|
|
@ -309,8 +310,6 @@ public class MobActor : Actor
|
|||
// }
|
||||
//}
|
||||
|
||||
bool IsAutoAIMob() { return IsRole(eRole.Mob) || IsRole(eRole.Boss); }
|
||||
|
||||
public void Set_Target(Actor _target) { m_Target = _target; }
|
||||
void FindNextTarget(float _dist)
|
||||
{
|
||||
|
|
@ -351,7 +350,7 @@ public class MobActor : Actor
|
|||
m_DieTime = m_MonsterAppearData.f_SpawnerDelay;
|
||||
//m_MonsterAppearData.Cal_DropItems(this);
|
||||
|
||||
if (IsRole(eRole.Boss))
|
||||
if (IsSubRole(eSubRol.Boss))
|
||||
{
|
||||
Time.timeScale = 0.3f;
|
||||
Set_Coroutine(() =>
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ public class PCActor : MyActor
|
|||
}
|
||||
public override void Set(bool isEnemy, Actor owner, ServerData sdata, int _id, bool _isstop, bool _ui = false)
|
||||
{
|
||||
m_Role = eRole.PC;
|
||||
if (DSUtil.CheckNull(arr_PCSkillCard) && !DSUtil.CheckNull(NewGameUI.Ins))
|
||||
arr_PCSkillCard = NewGameUI.Ins.m_BattleUI.skillCards;
|
||||
if (!DSUtil.CheckNull(arr_PCSkillCard))
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ public class PetActor : MyActor
|
|||
{
|
||||
Del_Target();
|
||||
OwnerActor = owner;
|
||||
m_Role = eRole.Pet;
|
||||
//var Chapter = InGameInfo.Ins.Get_CurStageData().Chapter;
|
||||
//m_AutoTarget = Chapter < 101 || sdata.Get_Common(eCommon.AutoTarget) == 1;
|
||||
m_Auto = true;
|
||||
|
|
|
|||
|
|
@ -214,10 +214,10 @@ public class ProjectileBase : MonoBehaviour
|
|||
{
|
||||
if (m_ProjecTileData != null)
|
||||
{
|
||||
if (!m_ProjecTileData.target.IsRole(eRole.Boss) || m_ProjecTileData.target.transform.localScale.x <= 2f)
|
||||
if (!m_ProjecTileData.target.IsSubRole(eSubRol.Boss) || m_ProjecTileData.target.transform.localScale.x <= 2f)
|
||||
{
|
||||
var enemies = Get_Enemies(transform, 8f);
|
||||
var boss = enemies.Find(f => f.IsRole(eRole.Boss) || f.transform.localScale.x > 2f);
|
||||
var boss = enemies.Find(f => f.IsSubRole(eSubRol.Boss) || f.transform.localScale.x > 2f);
|
||||
if (boss != null)
|
||||
m_ProjecTileData.target = boss;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class HUDUI : HUDBase
|
|||
TimeSlider.value = 1f;
|
||||
TimeSlider.gameObject.SetActive(m_Actor.IsRole(eRole.Summon));
|
||||
Set_Target(_target);
|
||||
go_BossIcon.SetActive(_actor.IsRole(eRole.Boss));
|
||||
go_BossIcon.SetActive(_actor.IsSubRole(eSubRol.Boss));
|
||||
}
|
||||
|
||||
public void Set_HPSlider(double Hp, double MaxHp)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class ActorInfo : MonoBehaviour
|
|||
/// </summary>
|
||||
Dictionary<eRole, Dictionary<int, Dictionary<string, List<Actor>>>> dic_actor = new Dictionary<eRole, Dictionary<int, Dictionary<string, List<Actor>>>>();
|
||||
|
||||
List<eRole> destroylst = new List<eRole> { eRole.PC, eRole.Pet, eRole.Fairy, eRole.Mob, eRole.Boss, eRole.BattleNPC, eRole.OBJ, eRole.Farmer };
|
||||
List<eRole> destroylst = new List<eRole> { eRole.PC, eRole.Pet, eRole.Fairy, eRole.Mob, eRole.BattleNPC, eRole.OBJ, eRole.Farmer };
|
||||
|
||||
public void Destroy_Mobs()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
|||
public Action<int> act_MobDieCount;
|
||||
|
||||
ObscuredInt m_DieCount;
|
||||
eDungeon m_Dungeon;
|
||||
|
||||
public void Stop_Dungeon(bool? win)
|
||||
{
|
||||
|
|
@ -39,10 +40,34 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
|||
m_DieCount.RandomizeCryptoKey();
|
||||
act_MobDieCount?.Invoke(m_DieCount);
|
||||
if (m_DieCount == m_MaxDieMobCount)
|
||||
Stop_Dungeon(true);
|
||||
{
|
||||
switch (m_Dungeon)
|
||||
{
|
||||
case eDungeon.d1_Mimic: Stop_Dungeon(true); break;
|
||||
case eDungeon.d2_Maze:
|
||||
// 다음 층으로
|
||||
break;
|
||||
case eDungeon.d3_Nightmare:
|
||||
break;
|
||||
case eDungeon.d4_Wave:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Start_Mimic() { StartCoroutine(Co_Update_Mimic()); }
|
||||
public void Start_Dungeon()
|
||||
{
|
||||
m_Dungeon = MyValue.MyChoiceMapData.Get_MapData().e_Dungeon;
|
||||
switch (m_Dungeon)
|
||||
{
|
||||
case eDungeon.d1_Mimic: StartCoroutine(Co_Update_Mimic()); break;
|
||||
case eDungeon.d2_Maze: StartCoroutine(Co_Update_Maze()); break;
|
||||
case eDungeon.d3_Nightmare:
|
||||
break;
|
||||
case eDungeon.d4_Wave:
|
||||
break;
|
||||
}
|
||||
}
|
||||
IEnumerator Co_Update_Mimic()
|
||||
{
|
||||
m_DieCount = 0;
|
||||
|
|
@ -63,11 +88,20 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
|||
ActorInfo.Ins.Add_Actor(mob, eRole.Mob, dungeonData.n_SpawnID, mimicData.s_MonsterPrefab);
|
||||
mob.Set(true, null, null, dungeonData.n_SpawnID, false);
|
||||
var rdnpos = DSUtil.Get_RandomPos_onNavMesh(MyValue.MyPC.Get_position(), 0f, 10f);
|
||||
mob.Set(eRole.Mob, mimicData, rdnpos, Set_MobDie, 0);
|
||||
mob.Set(mimicData, rdnpos, Set_MobDie, 0);
|
||||
mob.m_SubRole = eSubRol.Mimic;
|
||||
});
|
||||
yield return new WaitForSeconds(dungeonData.f_MakeGap);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
IEnumerator Co_Update_Maze()
|
||||
{
|
||||
var dgData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
|
||||
for (int i = 0; i < dgData.n_MobCount; i++)
|
||||
{
|
||||
//var mobid = table_monsterlist.Ins.Get_Data_orNull
|
||||
}
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class FieldBossData : MyCoroutine
|
||||
|
|
@ -18,10 +15,10 @@ public class FieldBossData : MyCoroutine
|
|||
m_FieldBoss = DSUtil.Get_Clone<MobActor>(handle.Result, transform);
|
||||
AddrResourceMgr.Ins.Set_AddressableReleaseSelf(m_FieldBoss.gameObject);
|
||||
m_FieldBoss.Set(true, null, null, n_SpawnerId, false);
|
||||
m_FieldBoss.Set(eRole.Boss, fieldbossdata, transform.position, AfterDie, -1);
|
||||
m_FieldBoss.Set(fieldbossdata, transform.position, AfterDie, -1);
|
||||
m_FieldBoss.m_SubRole = eSubRol.None;
|
||||
m_FieldBoss.MagicID = 0;
|
||||
ActorInfo.Ins.Add_Actor(m_FieldBoss, eRole.Boss, n_SpawnerId, fieldbossdata.s_MonsterPrefab);
|
||||
ActorInfo.Ins.Add_Actor(m_FieldBoss, eRole.Mob, n_SpawnerId, fieldbossdata.s_MonsterPrefab);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class MobControlMgr : MyCoroutine
|
|||
}
|
||||
|
||||
mob.Set(true, null, null, m_MonsterAppearData.n_SpawnerID, false);
|
||||
mob.Set(eRole.Mob, mobData, rdnpos, actDie, i);
|
||||
mob.Set(mobData, rdnpos, actDie, i);
|
||||
mob.Off();
|
||||
mob.m_SubRole = eSubRol.None;
|
||||
mob.MagicID = 0;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using CodeStage.AntiCheat.ObscuredTypes;
|
|||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
[Serializable]
|
||||
public class MonsterTableData : TableDataBase
|
||||
|
|
@ -13,28 +14,10 @@ public class MonsterTableData : TableDataBase
|
|||
set { _MonsterID = value; _MonsterID.RandomizeCryptoKey(); }
|
||||
} // 몬스터 고유 ID
|
||||
|
||||
public eRole e_MonsterType; // 기본 몬스터 타입 (enum 값은 변경하지 않음)
|
||||
|
||||
ObscuredFloat _DefaultScale;
|
||||
public float f_DefaultScale
|
||||
{
|
||||
get { return _DefaultScale; }
|
||||
set { _DefaultScale = value; _DefaultScale.RandomizeCryptoKey(); }
|
||||
} // 기본 몬스터 크기
|
||||
|
||||
ObscuredInt _MonsterName;
|
||||
public int n_MonsterName
|
||||
{
|
||||
get { return _MonsterName; }
|
||||
set { _MonsterName = value; _MonsterName.RandomizeCryptoKey(); }
|
||||
} // 몬스터 이름 정보
|
||||
|
||||
ObscuredString _MonsterPrefab;
|
||||
public string s_MonsterPrefab
|
||||
{
|
||||
get { return _MonsterPrefab; }
|
||||
set { _MonsterPrefab = value; _MonsterPrefab.RandomizeCryptoKey(); }
|
||||
} // 몬스터 프리펩 이름
|
||||
public eSubRol e_MonsterType; // 기본 몬스터 타입 (enum 값은 변경하지 않음)
|
||||
public float f_DefaultScale;
|
||||
public int n_MonsterName;
|
||||
public string s_MonsterPrefab;
|
||||
|
||||
ObscuredFloat _BaseATKRate;
|
||||
public float f_BaseATKRate
|
||||
|
|
@ -101,12 +84,7 @@ public class MonsterTableData : TableDataBase
|
|||
|
||||
public eAttackType e_AttackType; // 공격 형태 (enum 값은 변경하지 않음)
|
||||
|
||||
ObscuredString _Projectile1;
|
||||
public string s_Porjectile1
|
||||
{
|
||||
get { return _Projectile1; }
|
||||
set { _Projectile1 = value; _Projectile1.RandomizeCryptoKey(); }
|
||||
} // 투사체 프리펩 이름
|
||||
public string s_Porjectile1;
|
||||
|
||||
ObscuredFloat _ProjectileLifeTime1;
|
||||
public float f_ProjectileLifeTime1
|
||||
|
|
@ -115,12 +93,7 @@ public class MonsterTableData : TableDataBase
|
|||
set { _ProjectileLifeTime1 = value; _ProjectileLifeTime1.RandomizeCryptoKey(); }
|
||||
} // 투사체 지속 시간
|
||||
|
||||
ObscuredString _Projectile2;
|
||||
public string s_Porjectile2
|
||||
{
|
||||
get { return _Projectile2; }
|
||||
set { _Projectile2 = value; _Projectile2.RandomizeCryptoKey(); }
|
||||
} // 투사체 프리펩 이름
|
||||
public string s_Porjectile2;
|
||||
|
||||
ObscuredFloat _ProjectileLifeTime2;
|
||||
public float f_ProjectileLifeTime2
|
||||
|
|
@ -129,12 +102,7 @@ public class MonsterTableData : TableDataBase
|
|||
set { _ProjectileLifeTime2 = value; _ProjectileLifeTime2.RandomizeCryptoKey(); }
|
||||
} // 투사체 지속 시간
|
||||
|
||||
ObscuredString _Projectile3;
|
||||
public string s_Porjectile3
|
||||
{
|
||||
get { return _Projectile3; }
|
||||
set { _Projectile3 = value; _Projectile3.RandomizeCryptoKey(); }
|
||||
} // 투사체 프리펩 이름
|
||||
public string s_Porjectile3;
|
||||
|
||||
ObscuredFloat _ProjectileLifeTime3;
|
||||
public float f_ProjectileLifeTime3
|
||||
|
|
@ -198,6 +166,7 @@ public class table_monsterlist : table_missionbase
|
|||
public static table_monsterlist Ins;
|
||||
List<MonsterTableData> tableDatas;
|
||||
Dictionary<int, MonsterTableData> dic_Data = new Dictionary<int, MonsterTableData>();
|
||||
Dictionary<eSubRol, List<MonsterTableData>> dic_Datas = new Dictionary<eSubRol, List<MonsterTableData>>();
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
|
|
@ -212,6 +181,9 @@ public class table_monsterlist : table_missionbase
|
|||
{
|
||||
var temp = Get_DataList()[i];
|
||||
dic_Data.Add(temp.n_MonsterID, temp);
|
||||
if (!dic_Datas.ContainsKey(temp.e_MonsterType))
|
||||
dic_Datas.Add(temp.e_MonsterType, new List<MonsterTableData>());
|
||||
dic_Datas[temp.e_MonsterType].Add(temp);
|
||||
}
|
||||
|
||||
base.Start();
|
||||
|
|
@ -219,4 +191,5 @@ public class table_monsterlist : table_missionbase
|
|||
|
||||
public MonsterTableData Get_Data_orNull(int mobid) { return dic_Data[mobid]; }
|
||||
public List<MonsterTableData> Get_DataList() { return tableDatas; }
|
||||
public MonsterTableData Get_RandomData(eSubRol subRol) { return dic_Datas[subRol][Random.Range(0, dic_Datas[subRol].Count)]; }
|
||||
}
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
using CodeStage.AntiCheat.ObscuredTypes;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class Ingame_DungeonBase : MonoBehaviour
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public class MonsterSimpleInfo : MonoBehaviourSingletonTemplate<MonsterSimpleInf
|
|||
go_child.SetActive(true);
|
||||
m_Actor = actor;
|
||||
|
||||
go_boss.SetActive(m_Actor.IsRole(eRole.Boss));
|
||||
go_boss.SetActive(m_Actor.IsSubRole(eSubRol.Boss));
|
||||
//sprites[0].spriteName = ""; // TODO 정인호 : 몹 얼굴 없음
|
||||
sprites[1].canvasRenderer.SetAlpha(0.25f);
|
||||
var maplvdata = table_monsterappear.Ins.Get_Data_orNull(m_Actor.Get_Group());
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
|
|||
m_ArrowUI.Set(totalcount => { Select_Lv(totalcount); }, SelectLv, true, 1);
|
||||
break;
|
||||
case eDungeon.d2_Maze:
|
||||
SelectLv = 1;
|
||||
texts_maze[0].text = texts_maze[1].text = "";
|
||||
ServerInfo.Ins.Get_MyRank("Rank_Maze", my =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ public enum eGameMode { Lobby, Stage, MyFarm, Dungeon, Max } // list 순서
|
|||
public enum eDungeon { None, d1_Mimic, d2_Maze, d3_Nightmare, d4_Wave }
|
||||
public enum eDifficult { Normal, Hard, NightMare, Hell, Max }
|
||||
public enum eUnlockCondition { None, BossKill, GetItem, SealBreaking, ChapterClear, }
|
||||
public enum eRole { Mob, Boss, Pet, PC, Fairy, EnemyPC, Farmer, Summon, BattleNPC, OBJ, EnemyPet, EnemySummon }
|
||||
public enum eSubRol { None, Mimic, }
|
||||
public enum eRole { Mob, Pet, PC, Fairy, EnemyPC, Farmer, Summon, BattleNPC, OBJ, EnemyPet, EnemySummon }
|
||||
public enum eSubRol { None, Elite, Boss, Mimic, }
|
||||
public enum eClassType { SwordMan, Archer, Fighter, Mage }
|
||||
public enum eSpawnerType { Random, Order, Phase, PhaseAllKill }
|
||||
public enum eAnim { Idle, Run, Die, Hit, Dodge, Attack, Attack2, Attack3, Attack4, Skill }
|
||||
|
|
|
|||
|
|
@ -178,12 +178,7 @@ public class RealCamera : MyCoroutine
|
|||
ActorInfo.Ins.All_Stop(false);
|
||||
NewGameUI.Ins.go_Camera.SetActive(true);
|
||||
Time.timeScale = MyValue.Get_GameSpeed();
|
||||
// TODO 정인호 : 게임 시작 시 컨텐츠 등 체크 주석 처리
|
||||
switch (MyValue.MyChoiceMapData.n_MapID)
|
||||
{
|
||||
case 1001: DungeonInfo.Ins.Start_Mimic(); break; // 미믹 던전
|
||||
case 1002: break; // 수상한 미궁
|
||||
}
|
||||
DungeonInfo.Ins.Start_Dungeon();
|
||||
}
|
||||
|
||||
void Update_Cam()
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class MainToStatTest : MonoBehaviourSingletonTemplate<MainToStatTest>
|
|||
|
||||
var spawnerid = 1;
|
||||
actors[1].Set(true, null, null, spawnerid, false);
|
||||
(actors[1] as MobActor).Set(eRole.Mob, table_monsterlist.Ins.Get_Data_orNull(1), Vector3.zero, null, 0);
|
||||
(actors[1] as MobActor).Set(table_monsterlist.Ins.Get_Data_orNull(1), Vector3.zero, null, 0);
|
||||
|
||||
yield return new WaitForSeconds(0.1f);
|
||||
actors[1].transform.parent.eulerAngles = Vector3.up * 90f;
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ EditorBuildSettings:
|
|||
- enabled: 1
|
||||
path: Assets/Scenes/Map_Mimic.unity
|
||||
guid: 9dca1e4e44b90484ab4c3a9f6f3d5fac
|
||||
- enabled: 1
|
||||
path: Assets/Scenes/Map_Maze.unity
|
||||
guid: cc505c3547147ec4f9470ac815f55a6d
|
||||
m_configObjects:
|
||||
com.unity.addressableassets: {fileID: 11400000, guid: a6af74bb7b3ef3f429b3d463f66c15a9,
|
||||
type: 2}
|
||||
|
|
|
|||
Loading…
Reference in New Issue