예제 #1
0
        private void EGMI_ACK_SWAP_SCENE(MsgHead head, MemoryStream stream)
        {
            mxPlayerNet.ChangePlayerState(PlayerNet.PLAYER_STATE.E_PLAYER_GAMEING);

            AFMsg.ReqAckSwapScene xData = new AFMsg.ReqAckSwapScene();
            xData = AFMsg.ReqAckSwapScene.Parser.ParseFrom(stream);
            //ReceiveMsg(stream, ref xData);

            //AFCRenderInterface.Instance.LoadScene(xData.scene_id, xData.x, xData.y, xData.z);

            AFCDataList varList = new AFCDataList();

            varList.AddInt64(xData.SceneId);
            varList.AddFloat(xData.X);
            varList.AddFloat(xData.Y);
            varList.AddFloat(xData.Z);

            AFCLogicEvent.Instance.DoEvent((int)ClientEventDefine.EventDefine_Swap_Scene, varList);
        }
예제 #2
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);
        }