public void MFSMCastSkillBegin(int netId, E_MonsterSkill skill, SkillParam sp) { // client m_networkService.SendServerCommand(SC_ApplyAllCastSkillBegin.Instance( EM_Sight.s_instance.GetInSightCharacterNetworkId(netId, false), netId, skill.m_SkillId, sp.GetNo())); }
public override MFSMStateBase GetNextState(E_Monster self) { if (self.m_IsDead) { return(m_mfsm.m_dead); } if (self.m_IsFaint) { return(m_mfsm.m_faint); } if (self.m_HighestHatredTargetNetId == -1) { return(m_mfsm.m_autoMove); } if (self.m_IsSilent) { return(null); } var unit = EM_Sight.s_instance.GetUnitVisibleByNetworkId(self.m_HighestHatredTargetNetId); if (unit == null) { return(null); } // 尝试对仇恨最高的目标释放技能 E_MonsterSkill skill; if (EM_MonsterSkill.s_instance.GetRandomValidSkill(self.m_MonsterId, out skill)) { var spg = SkillParamGeneratorBase.GetSpg(skill.m_AimType); if (spg.InCastRange(self, skill.m_CastRange, unit)) { SkillParam sp = spg.GetSkillParam(self, unit); var castState = m_mfsm.m_castFront; castState.Reset(skill, sp); return(castState); } } return(null); }
public void MFSMSkillSettle(E_Monster monster, E_MonsterSkill skill, SkillParam sp) { GL_BattleSettle.s_instance.NotifySkillSettle(monster, skill, sp); }
public void NotifySkillSettle(E_Unit self, E_MonsterSkill skill, SkillParam parm) { NotifySkillSettle(self, skill, m_targetStage.GetTargetList(self, skill, parm)); }
public IReadOnlyList <E_Unit> GetTargetList(E_Unit self, E_MonsterSkill skill, SkillParam skillParm) { EffectTargetChooserBase targetChooser = m_targetChooserDict[skill.m_AimType]; targetChooser.Reset(skill.m_TargetCamp, skill.m_TargetNumber, skill.m_DamageParamList); targetChooser.GetEffectTargets(self, skillParm, m_targetList); return(m_targetList); }
public void Reset(E_MonsterSkill skill, SkillParam parm) { m_skill = skill; m_skillParam = parm; m_timer = skill.m_CastFrontTime; }