Ejemplo n.º 1
0
        private void EGMI_ACK_MOVE_IMMUNE(MsgHead head, MemoryStream stream)
        {
            AFMsg.ReqAckPlayerMove xData = ReceiveMsg(stream, ReqAckPlayerMove.Parser) as ReqAckPlayerMove;

            if (xData.TargetPos.Count <= 0)
            {
                return;
            }

            //其实就是jump
            float fSpeed = AFCKernel.Instance.QueryPropertyInt(PBToAF(xData.Mover), "MOVE_SPEED") / 10000.0f;

            fSpeed *= 1.5f;

            AFCDataList varList = new AFCDataList();

            varList.AddObject(PBToAF(xData.Mover));
            varList.AddFloat(xData.TargetPos[0].X);
            varList.AddFloat(xData.TargetPos[0].Y);
            varList.AddFloat(xData.TargetPos[0].Z);
            varList.AddFloat(fSpeed);

            AFCLogicEvent.Instance.DoEvent((int)ClientEventDefine.EVENTDEFINE_MOVE_IMMUNE, varList);

            //AFCRenderInterface.Instance.MoveImmuneBySpeed(PBToAF(xData.mover), new Vector3(xData.target_pos[0].x, xData.target_pos[0].y, xData.target_pos[0].z), fSpeed, true);
        }
Ejemplo n.º 2
0
        private void EGMI_ACK_MOVE(MsgHead head, MemoryStream stream)
        {
            AFMsg.ReqAckPlayerMove xData = new AFMsg.ReqAckPlayerMove();
            xData = AFMsg.ReqAckPlayerMove.Parser.ParseFrom(stream);
            //ReceiveMsg(stream, ref xData);
            if (xData.TargetPos.Count <= 0)
            {
                return;
            }
            float fSpeed = AFCKernel.Instance.QueryPropertyInt(PBToAF(xData.Mover), "MOVE_SPEED") / 10000.0f;

            AFCDataList varList = new AFCDataList();

            varList.AddObject(PBToAF(xData.Mover));
            varList.AddFloat(xData.TargetPos[0].X);
            varList.AddFloat(xData.TargetPos[0].Y);
            varList.AddFloat(xData.TargetPos[0].Z);
            varList.AddFloat(fSpeed);

            AFCLogicEvent.Instance.DoEvent((int)ClientEventDefine.EventDefine_MoveTo, varList);

            //AFCRenderInterface.Instance.MoveTo(PBToAF(xData.mover), new Vector3(xData.target_pos[0].x, xData.target_pos[0].y, xData.target_pos[0].z), fSpeed, true);
        }
Ejemplo n.º 3
0
        //////////////////////////////////
        private void EGMI_ACK_SKILL_OBJECTX(MsgHead head, MemoryStream stream)
        {
            AFMsg.ReqAckUseSkill xReqAckUseSkill = ReqAckUseSkill.Parser.ParseFrom(stream);// new AFMsg.ReqAckUseSkill();
            // ReceiveMsg(stream, ref xReqAckUseSkill);
            AFMsg.Position xNowPos = xReqAckUseSkill.NowPos;
            AFMsg.Position xTarPos = xReqAckUseSkill.TarPos;

            AFIDataList xObjectList = new AFCDataList();
            AFIDataList xRtlList    = new AFCDataList();
            AFIDataList xValueList  = new AFCDataList();

            if (xReqAckUseSkill.EffectData.Count <= 0)
            {
                return;
            }

            for (int i = 0; i < xReqAckUseSkill.EffectData.Count; ++i)
            {
                xObjectList.AddObject(PBToAF(xReqAckUseSkill.EffectData[i].EffectIdent));
                xRtlList.AddInt64((int)xReqAckUseSkill.EffectData[i].EffectRlt);
                xValueList.AddInt64((int)xReqAckUseSkill.EffectData[i].EffectValue);
            }


            string strSkillName = xReqAckUseSkill.SkillId;//System.Text.Encoding.Default.GetString();
            //Debug.Log("AckUseSkill:" + strSkillName);

            AFCDataList varList = new AFCDataList();

            varList.AddObject(PBToAF(xReqAckUseSkill.User));
            varList.AddFloat(xNowPos.X);
            varList.AddFloat(xNowPos.Z);
            varList.AddFloat(xTarPos.X);
            varList.AddFloat(xTarPos.Z);

            if (xObjectList.Count() != xRtlList.Count() || xObjectList.Count() != xValueList.Count())
            {
                return;
            }

            varList.AddInt64(xObjectList.Count());
            for (int i = 0; i < xObjectList.Count(); ++i)
            {
                varList.AddObject(xObjectList.ObjectVal(i));
            }

            for (int i = 0; i < xRtlList.Count(); ++i)
            {
                varList.AddInt64(xRtlList.Int64Val(i));
            }

            for (int i = 0; i < xValueList.Count(); ++i)
            {
                varList.AddInt64(xValueList.Int64Val(i));
            }


            AFCLogicEvent.Instance.DoEvent((int)ClientEventDefine.EVENTDEFINE_USESKILL, varList);

            //AFCRenderInterface.Instance.UseSkill(, strSkillName, xNowPos.x, xNowPos.z, xTarPos.x, xTarPos.z, xObjectList, xRtlList, xValueList);
        }