57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class WitchEnemyActor : MobActor
|
|
{
|
|
public List<int> list_MagicID = new List<int>();
|
|
public int MagicLv = 10;
|
|
List<SkillListTableData> list_Magic = new List<SkillListTableData>();
|
|
|
|
List<float> list_cooltime = new List<float>();
|
|
|
|
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 (!isTarget || 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);
|
|
}
|
|
} |