public void DoColliderAction(ICharaBattle player) { _colliderCount++; if (_colliderInfo.ColliderMax != -1 && _colliderCount >= _colliderInfo.ColliderMax) { Complete(); return; } if (null != _colliderInfo.FightEffectList && _colliderInfo.FightEffectList.Count > 0) { Vector3 dir = new Vector3(_collider.x, 0, _collider.y); dir = (player.MovePos - dir).normalized; for (int i = 0; i < _colliderInfo.FightEffectList.Count; i++) { FightEffectInfo info = _colliderInfo.FightEffectList[i]; if (info.EffectTarget == FIGHT_EF_TARGET.SELF) { FightEffectDefine.ParseEffect(_skillPlayer, info, _skillPlayer.BattleId, dir); } else { SkillCommand command = null; if (info.EffectType == FIGHT_EF_TPYE.ACTION) { uint frame = ZTBattleSceneManager.GetInstance().SceneFrame; command = FightDefine.GetSkillCommand(player.BattleId, frame, info.Param1, dir, player.MovePos); } FightEffectDefine.ParseEffect(player, info, _skillPlayer.BattleId, dir, command); } } } }
//技能使用 public void ParseSkillCommand(BPSkill bp) { SkillCommand command = FightDefine.GetSkillCommand(bp.BattleId, bp.Frame, bp.SkillId, bp.SkillDir, bp.TargetPos, bp.TargetId); SceneEvent.GetInstance().dispatchEvent(SCENE_EVENT.ADD_COMMAND, new Notification(command)); }