예제 #1
0
    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);
                }
            }
        }
    }
예제 #2
0
 protected override void DoAction()
 {
     for (int i = 0; i < EffectList.Count; i++)
     {
         FightEffectDefine.ParseEffect(_skillPlayer, EffectList[i], _skillPlayer.BattleId);
     }
     Complete();
 }