using CommonAI.ZoneClient; using ET; using ET.Client; using XmdsCommon.Plugin; public class BattleActor : BattlePlayer { public override void OnAwake(ZoneObject zo) { base.OnAwake(zo); ZoneActor za = zo as ZoneActor; za.IsFollow = false; za.OnStartPickObject += OnStartPickObject; za.OnStopPickObject += OnStopPickObject; za.OnSkillChanged += OnSkillChanged; za.OnClickSkillSimulationEvent += OnClickSkillSimulationEvent; var uProp = za.Info.Properties as XmdsUnitProperties; Log.Debug($"pkMode: {uProp.ServerData.UnitPKInfo.CurPKMode}"); } private void OnSkillChanged(ZoneUnit.SkillOption op, ZoneUnit unit, int baseSkillID, params int[] skills) { Log.Debug("OnSkillChanged> {0}, base:{1},skills:{2}", op, baseSkillID, skills != null ? skills.Length : 0); //SkillOption.Init的不用管,SkillBar.InitSkill直接从UserData读 //SkillOpetion.Active不明意义,未处理 if (op == ZoneUnit.SkillOption.Reset) { if(baseSkillID != 0) { if(skills.Length > 0) { skills[0] = baseSkillID; } else { skills = new int[] { baseSkillID }; } } SkillMgr.Instance.Init(skills); } else if (op == ZoneUnit.SkillOption.Add || op == ZoneUnit.SkillOption.Remove) { Log.Error($"not implements skill option: {op}"); } } private void OnStopPickObject(ZoneUnit unit, CommonAI.Zone.UnitStopPickObjectEvent stop) { Log.Error("unhande event: OnStopPickObject"); } private void OnStartPickObject(ZoneUnit unit, CommonLang.TimeExpire start) { Log.Error("unhande event: OnStartPickObject"); } private void OnClickSkillSimulationEvent(ZoneUnit unit, CommonAI.Zone.Helper.SimulationSkillEnum type) { Log.Error("unhande event: OnClickSkillSimulationEvent"); } }