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