public void InitFollowFx() { if (m_attacker == null) { DestroyFx(); return; } bStart = true; bDestory = false; m_targetObj = m_attacker.GetTargetGameObject(); ISkillPart skillPart = m_attacker.GetSkillPart(); if (skillPart != null) { m_SkillTarget = skillPart.GetSkillTarget(); table.SkillDatabase db = GameTableManager.Instance.GetTableItem <table.SkillDatabase>((uint)m_skillId, 1); if (db != null) { if (db.flyspeed != 0) { m_speed = db.flyspeed * 1.0f / 100; } } } // m_targetNode = m_attacker.GetTargetHitNode(); m_startTime = Time.time; castPos = m_attacker.GetTargetHitNodePos(m_SkillTarget, targetHitNode); float dis = GetVectorDistance(transform.position, castPos); totalTime = dis / m_speed; }