// 攻击 void OnAttack(Character actor) { if (actor.LastSummonID == ID) { return; } actor.LastSummonID = ID; actor.ActHit(); if (actor is Enemy) { BattleManager.GetInstance().EnemyHit(actor.ID, owner.ID); } else { BattleManager.GetInstance().PlayerHit(actor.ID, owner.ID); } actor.AttackEffect(cfg.hiteffect, 1, new Vector3(0, 0.5f, 0)); for (int i = 0; i < skilleffects.Length; i++) { SkillEffect effect = skilleffects[i]; if (effect.CheckTrigger(SkillEffectTrigger.SKILL_EFFECT_TRIGGER_HIT)) { effect.DoEffect(owner, actor); } } hitcount++; // limit attack count if (cfg.hitmax != 0 && hitcount >= cfg.hitmax) { End(); } }