Esempio n. 1
0
    //CreatMesh RangeTip;


    public void CreatSkillEffect(EntityBase entity, SkillStatusComponent skillComp)
    {
        SkillStatusDataGenerate skillStatusData = null;

        switch (skillComp.m_skillStstus)
        {
        case SkillStatusEnum.Before:
            skillStatusData = skillComp.m_currentSkillData.BeforeInfo;
            break;

        case SkillStatusEnum.Current:
            skillStatusData = skillComp.m_currentSkillData.CurrentInfo;
            break;

        case SkillStatusEnum.Later:
            skillStatusData = skillComp.m_currentSkillData.LaterInfo;
            break;
        }

        string        FXName       = skillStatusData.m_FXName;
        float         FXLifeTime   = skillStatusData.m_FXLifeTime;
        float         offset       = skillStatusData.m_FXOffSet;
        HardPointEnum FXCreatPoint = skillStatusData.m_FXCreatPoint;

        string        followFXName       = skillStatusData.m_FollowFXName;
        float         FLoffset           = skillStatusData.m_FollowFXOffSet;
        HardPointEnum followFXCreatPoint = skillStatusData.m_FollowFXCreatPoint;
        float         followFXLifeTime   = skillStatusData.m_FollowFXLifeTime;

        //Debug.Log("FXName " + FXName);
        //Debug.Log("followFXName " + followFXName);

        //现在不管特效填跟不跟随都跟随角色,并在技能被打断时退出
        if (FXName != "null")
        {
            //恢复不follow
            CreateEffect(entity, FXName, FXCreatPoint, FXLifeTime, offset);
        }

        if (followFXName != "null")
        {
            CreateFollowSkillEffect(entity, followFXName, followFXCreatPoint, followFXLifeTime);
        }
    }
Esempio n. 2
0
    ////判断CD结束
    //public bool CDFinished()
    //{
    //    if (GetCDResidueTime() <= 0)
    //    {
    //        return true;
    //    }
    //    else
    //    {

    //        return false;
    //    }
    //}

    ///// <summary>
    ///// 获取CD剩余时间
    ///// </summary>
    //public float GetCDResidueTime()
    //{
    //    if (m_lastExecuteTime < 0)
    //    {
    //        return 0;
    //    }

    //    float result = m_CDSpace - (SyncService.CurrentServiceTime - m_lastExecuteTime);

    //    if (result < 0)
    //    {
    //        result = 0;
    //    }

    //    return result;
    //}

    #endregion

    public void UpdateInfo()
    {
        if (m_skillID != "" && m_skillID != "null")
        {
            m_skillInfo = DataGenerateManager <SkillDataGenerate> .GetData(m_skillID);

            m_beforeInfo = DataGenerateManager <SkillStatusDataGenerate> .GetData(m_skillInfo.m_BeforeStatus);

            m_currentInfo = DataGenerateManager <SkillStatusDataGenerate> .GetData(m_skillInfo.m_CurrentStatus);

            m_laterInfo = DataGenerateManager <SkillStatusDataGenerate> .GetData(m_skillInfo.m_LaterStatus);

            m_beforeTime = m_beforeInfo.m_Time;

            m_hitTime     = m_beforeTime + m_skillInfo.m_HitTime;
            m_currentTime = m_beforeTime + m_currentInfo.m_Time;
            m_laterTime   = m_currentTime + m_laterInfo.m_Time;
            m_CDSpace     = m_skillInfo.m_CD;
        }
    }
Esempio n. 3
0
    int GetDelayTime(SkillStatusComponent skillComp)
    {
        SkillStatusDataGenerate skillStatusData = null;

        switch (skillComp.m_skillStstus)
        {
        case SkillStatusEnum.Before:
            skillStatusData = skillComp.m_currentSkillData.BeforeInfo;
            break;

        case SkillStatusEnum.Current:
            skillStatusData = skillComp.m_currentSkillData.CurrentInfo;
            break;

        case SkillStatusEnum.Later:
            skillStatusData = skillComp.m_currentSkillData.LaterInfo;
            break;
        }
        float delayTime = skillStatusData.m_FXDelay;

        return((int)(delayTime * 1000));
    }