using System.Collections; using System.Collections.Generic; using UnityEngine; public class WitchEnemyActor : MobActor { public List list_MagicID = new List(); public int MagicLv = 10; public GameObject go_RunSmoke; List list_Magic = new List(); List list_cooltime = new List(); protected override void Awake() { base.Awake(); for (int i = 0; i < list_MagicID.Count; i++) { list_Magic.Add(table_skilllist.Ins.Get_Data_orNull(list_MagicID[i])); list_cooltime.Add(0f); } } protected override void Update() { for (int i = 0; i < list_cooltime.Count; i++) { if (m_Target == null || m_Target.IsDead()) continue; if (list_cooltime[i] > 0f) list_cooltime[i] -= Time.deltaTime; if (list_cooltime[i] <= 0f && CurAnim < eAnim.Die && !IsCC()) { if (!dic_MagicData.ContainsKey(0)) dic_MagicData.Add(0, new UseMagicInfo()); dic_MagicData[0].m_uiIndex = -1; dic_MagicData[0].m_SkillTableData = list_Magic[i]; m_Magic = dic_MagicData[0]; list_cooltime[i] = m_Magic.m_SkillTableData.f_CoolTime; Play_Skill(m_Magic.m_SkillTableData.s_Animation); } } base.Update(); } void Shoot_MyProjectile() { Reset_AttackCoolTime(); Shoot_MagicMissile(); } void Shoot_MagicMissile() { var centerpos = Get_Center_position(); var y = Random.Range(0, 2) == 0 ? centerpos.y + Random.Range(0f, 0.5f) : centerpos.y - Random.Range(0f, 0.5f); centerpos = new Vector3(centerpos.x, y, centerpos.z); ProjectileInfo.Ins.Shoot_Projectile("MagicMissile", this, m_Target, 1f, centerpos, 10f); } public override void Set_RunSmoke(bool _active) { if (go_RunSmoke.activeSelf != _active) go_RunSmoke.SetActive(_active); } protected override void Set_Die() { base.Set_Die(); GameUI.Ins.IngameUI.m_MemoryWitchResult.Add_ClearID(m_SpawnerId); } }