Example #1
0
    /// <summary>
    /// 产生Buff
    /// </summary>
    protected override bool StatusReleaseBuff(Life Defense)
    {
        if (m_skill == null)
        {
            return(false);
        }
        BuildSkillInfo skill = m_skill as BuildSkillInfo;

        if (!(Defense is Role) || Defense == null || Defense.m_Attr == null || Defense.m_Status == null)
        {
            return(false);
        }
        if (m_skill == null || skill.m_releasedown_status == null)
        {
            return(false);
        }

        bool InterruptSkill      = false;
        List <SkillStatusInfo> l = skill.m_releasedown_status;

        for (int i = 0; i < l.Count; i++)
        {
            if (CheckCondition(Defense.m_Attr, l[i]))
            {
                if (Defense.m_Status.AddStatus(m_SceneID, skill.m_type, l[i]) == true)
                {
                    InterruptSkill = true;
                }
            }
        }
        return(InterruptSkill);
    }
Example #2
0
 // Use this for initialization
 public override void  InitBuild()
 {
     base.InitBuild();
     m_TriggerIng = false;
     m_infoSkil   = m_Skill.PropSkillInfo as BuildSkillInfo;
     //m_fAttackStep_Secs = m_infoSkil.m_step_secs / 1000.0f;
 }
Example #3
0
    /// <summary>
    /// 获取建筑物技能
    /// </summary>
    public static BuildSkillInfo GetBuildSkill(int buildType, int BigQuality)
    {
        s_buildskilltypeInfo v = GetBuildSkillType(buildType, BigQuality);

        if (v == null)
        {
            return(null);
        }
        else
        {
            BuildSkillInfo Info = new BuildSkillInfo();
            SetSoldierSkill(v, ref Info);
            return(Info);
        }
    }
Example #4
0
    /// <summary>
    /// 设置建筑技能
    /// </summary>
    private static void SetSoldierSkill(s_buildskilltypeInfo v, ref BuildSkillInfo Info)
    {
        if (v == null || Info == null)
        {
            return;
        }
        Info.m_desc        = v.description;
        Info.m_id          = v.id;
        Info.m_type        = v.type;
        Info.m_name        = v.name;
        Info.m_buildtype   = v.buildtype;
        Info.m_quality     = v.quality;
        Info.m_attacktype  = v.attacktype;
        Info.m_target      = v.target;
        Info.m_power1      = v.power1;
        Info.m_power2      = v.power2;
        Info.m_cd          = v.cd;
        Info.m_multiple    = v.multiple;
        Info.m_attckmodeid = v.attackmodeid;
        s_attackmodeInfo I = GetAttackMode(Info.m_attckmodeid);

        if (I != null)
        {
            SetAttackPower(I, ref Info.m_lAttackPower);
        }
        SetSkillStatus(ref Info.m_attack_status_own, v.attack_status_own);
        SetSkillStatus(ref Info.m_attack_status_enemy, v.attack_status_enemy);
        SetSkillStatus(ref Info.m_releasedown_status, v.releasedown_status);
        SetSkillStatus(ref Info.m_releasedenemy_status, v.releasedenemy_status);
        Info.m_struckeffect = v.struckeffect;
        s_skilleffectInfo e = GetSkillEffect(Info.m_type);

        if (e != null)
        {
            SetSkillEffect(e, ref Info.m_skilleffectinfo);
        }
        Info.m_interrupt_skill = v.interrupt_skill;
        Info.m_tSearchInfo.SetData(v.tshape, v.tinboat, v.tlayer, v.tparam);
        Info.m_dSearchInfo.SetData(v.dshape, v.dinboat, v.dlayer, v.dparam);
        SetSkillAttributeType(ref Info.m_AttributeType, v.attribute);
    }
Example #5
0
    public void SetSkill()
    {
        int oldBigQua = ConfigM.GetBigQuality(m_oldBuildInfo.Quality);
        int oldSmall  = ConfigM.GetSmallQuality(m_oldBuildInfo.Quality);

        int bigQua = ConfigM.GetBigQuality(m_buildInfo.Quality);
        int Small  = ConfigM.GetSmallQuality(m_buildInfo.Quality);

        if (bigQua > oldBigQua && Small == 0)
        {
            BuildSkillInfo afterInfo = SkillM.GetBuildSkill(m_buildInfo.BuildType, bigQua);
            if (afterInfo != null)
            {
                MyHead.LblAfterSkill.text = afterInfo.m_desc;
            }

            BuildSkillInfo befInfo = SkillM.GetBuildSkill(m_oldBuildInfo.BuildType, oldBigQua);
            if (befInfo != null)
            {
                MyHead.LblForeSkill.text = befInfo.m_desc;
            }

            if (befInfo != null && afterInfo != null)
            {
                MyHead.GoSkill.SetActive(true);
            }
            else
            {
                MyHead.GoSkill.SetActive(false);
            }
        }
        else
        {
            MyHead.GoSkill.SetActive(false);
        }
    }