Exemplo n.º 1
0
    public override void Process()
    {
        XLog.Log.Debug("CPtcM2CNtf_CastSkill");
        if (Singleton <ClientMain> .singleton.EGameState == EnumGameState.eState_GameMain)
        {
            UseSkillParam useSkillParam = new UseSkillParam();
            useSkillParam.m_dwRoleId       = this.m_dwRoleId;
            useSkillParam.m_dwSkillId      = this.m_dwSkillId;
            useSkillParam.m_dwTargetRoleId = this.m_dwTargetRoleId;
            useSkillParam.m_oTargetPos     = this.m_oTargetPos;

            Singleton <BeastManager> .singleton.OnUseSkill(this.m_dwRoleId, EnumSkillType.eSkillType_Skill, this.m_dwSkillId, useSkillParam);

            Singleton <SequenceShowManager> .singleton.UseSeqShow = true;
            if (Singleton <SequenceShowManager> .singleton.UseSeqShow)
            {
                Singleton <SequenceShowManager> .singleton.OnMsg(this);
            }
            //让神兽说出话
            Beast beast = Singleton <BeastManager> .singleton.GetBeastById(this.m_dwRoleId);

            if (beast != null)
            {
                beast.ResetMomentForVoiceInRound();
            }

            /*
             * if (beast.Role)
             * {
             *  Singleton<BeastRole>.singleton.LockUseSkill(EnumSkillType.eSkillType_Skill, this.m_dwSkillId, false);
             * }
             */
        }
    }
Exemplo n.º 2
0
 /// <summary>
 /// 玩家使用技能,根据不同的技能类型用不同的技能管理器
 /// </summary>
 /// <param name="type"></param>
 /// <param name="skillId"></param>
 /// <param name="param"></param>
 public void OnUseSkill(EnumSkillType type, int skillId, UseSkillParam param)
 {
     //if (type == EnumSkillType.eSkillType_Skill)
     //{
     //    this.m_skillManager.OnUseSkill(skillId, param);
     //}
 }
Exemplo n.º 3
0
        /// <summary>
        /// 技能使用
        /// </summary>
        /// <param name="param"></param>
        public virtual void OnUse(UseSkillParam param)
        {
            this.m_log.Debug("OnUse:" + this.m_unskillId);
            UseSkillEvent useSkillEvent = new UseSkillEvent();

            useSkillEvent.DurationTime  = 1f;
            useSkillEvent.UseSkillParam = param;
            Singleton <ActEventManager> .singleton.AddEvent(useSkillEvent);
        }
Exemplo n.º 4
0
    /// <summary>
    /// 玩家使用技能
    /// </summary>
    /// <param name="beastId"></param>
    /// <param name="type"></param>
    /// <param name="skillId"></param>
    /// <param name="param"></param>
    public void OnUseSkill(long beastId, EnumSkillType type, int skillId, UseSkillParam param)
    {
        Beast beast = this.GetBeastById(beastId);

        if (beast != null)
        {
            beast.OnUseSkill(type, skillId, param);
        }
    }
Exemplo n.º 5
0
 /// <summary>
 /// 使用技能
 /// </summary>
 /// <param name="skillId"></param>
 /// <param name="param"></param>
 public void OnUseSkill(int skillId, UseSkillParam param)
 {
     if (SkillGameManager.m_dicAllSkillBase.ContainsKey(skillId))
     {
         SkillBase skill = SkillGameManager.m_dicAllSkillBase[skillId];
         if (skill != null)
         {
             skill.OnUse(param);
         }
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// 具体技能使用表现
        /// </summary>
        /// <param name="useSkillParam"></param>
        public virtual void OnUseSkillAction(UseSkillParam useSkillParam)
        {
            if (useSkillParam != null)
            {
                Beast beast = Singleton <BeastManager> .singleton.GetBeastById(useSkillParam.m_dwRoleId);

                if (beast != null)
                {
                    Vector3 forward = beast.Forward;
                    if (useSkillParam.m_dwTargetRoleId > 0 && useSkillParam.m_dwTargetRoleId != useSkillParam.m_dwRoleId)
                    {
                        Beast targetBeast = Singleton <BeastManager> .singleton.GetBeastById(useSkillParam.m_dwTargetRoleId);

                        if (targetBeast != null)
                        {
                            forward = beast.RealPos3D - targetBeast.RealPos3D;
                        }
                    }
                }
            }
        }