private bool SendRequestUseSkillDir(Skill readySkillObj)
        {
            VInt3          vInt = VInt3.one;
            BaseAttackMode currentAttackMode = this.Actor.handle.ActorControl.GetCurrentAttackMode();
            FrameCommand <UseDirectionalSkillCommand> frameCommand = FrameCommandFactory.CreateCSSyncFrameCommand <UseDirectionalSkillCommand>();

            if (currentAttackMode != null)
            {
                vInt = currentAttackMode.SelectSkillDirection(this);
            }
            frameCommand.cmdData.SlotType = this.SlotType;
            if (vInt.x == 0 && vInt.z == 0)
            {
                vInt = this.Actor.handle.forward;
            }
            short degree = (short)((double)(IntMath.atan2(-vInt.z, vInt.x).single * 180f) / 3.1416);

            frameCommand.cmdData.Degree = degree;
            if (!this.skillIndicator.GetSkillBtnDrag())
            {
                frameCommand.cmdData.dwObjectID = this.skillTargetId;
            }
            frameCommand.Send();
            return(true);
        }
Beispiel #2
0
        private bool SendRequestUseSkillDir(Skill readySkillObj)
        {
            VInt3          one = VInt3.one;
            BaseAttackMode currentAttackMode = this.Actor.handle.ActorControl.GetCurrentAttackMode();
            FrameCommand <UseDirectionalSkillCommand> command = FrameCommandFactory.CreateCSSyncFrameCommand <UseDirectionalSkillCommand>();

            if (currentAttackMode != null)
            {
                one = currentAttackMode.SelectSkillDirection(this);
            }
            command.cmdData.SlotType  = this.SlotType;
            command.cmdData.Direction = one;
            command.cmdData.iSkillID  = readySkillObj.SkillID;
            command.Send(true);
            return(true);
        }