public override void Trigger() { int attackEftId = 0; int beAttackEftId = 0; SkillGameManager.GetSkillAttackEffectId(this.SkillId, this.AttackerId, ref attackEftId, ref beAttackEftId); Beast beast = Singleton <BeastManager> .singleton.GetBeastById(this.AttackerId); if (beast != null) { DataSkillShow data = beast.GetSkillShow(this.SkillId); if (!this.MainBeAttacker && data != null) { if (data.SubHitEffectId != 0) { beAttackEftId = data.SubHitEffectId; } } if (bShowMissEffect) { //显示MIss漂浮字样 } else if (beAttackEftId > 0) { //取得被攻击者的位置,然后播放特效 Vector3 vTargetPos = this.BeAttackPos.Count > 0 ? Hexagon.GetHex3DPos(this.BeAttackPos[0], Space.World) : Vector3.zero; EffectManager.Instance.PlayEffect(beAttackEftId, this.BeAttackerId, Vector3.zero, null, 0L, vTargetPos, null, Vector3.zero); } } }