/// <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); }
// 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; }
/// <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); } }
/// <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); }
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); } }