//WSAD移动 public void RequireMove(NFrame.NFGUID objectID, int nType, float fPosX, float fPosY, float fTarX, float fTarY) { NFMsg.ReqAckPlayerMove xData = new NFMsg.ReqAckPlayerMove(); xData.mover = NFNetController.NFToPB(objectID); xData.moveType = nType; NFMsg.Vector3 xNowPos = new NFMsg.Vector3(); xNowPos.x = fPosX; xNowPos.y = 0.0f; xNowPos.z = fPosY; xData.source_pos.Add(xNowPos); NFMsg.Vector3 xTargetPos = new NFMsg.Vector3(); xTargetPos.x = fTarX; xTargetPos.y = 0.0f; xTargetPos.z = fTarY; xData.target_pos.Add(xTargetPos); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_MOVE, mxBody); //为了表现,客户端先走,后续同步 }
//有可能是他副本的NPC移动,因此增加64对象ID public void RequireUseSkill(NFrame.NFGUID objectID, string strKillID, Int32 index, List <NFrame.NFGUID> nTargetIDList) { NFMsg.ReqAckUseSkill xData = new NFMsg.ReqAckUseSkill(); xData.user = NFNetController.NFToPB(objectID); xData.skill_id = System.Text.Encoding.Default.GetBytes(strKillID); xData.use_index = index; if (nTargetIDList != null) { foreach (NFGUID id in nTargetIDList) { NFMsg.EffectData xEffData = new NFMsg.EffectData(); xEffData.effect_ident = (NFNetController.NFToPB(id)); xEffData.effect_value = 0; xEffData.effect_rlt = 0; xData.effect_data.Add(xEffData); } } mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_SKILL_OBJECTX, mxBody); }
public void SendMsg(NFrame.NFGUID xID, NFMsg.EGameMsgID unMsgID, MemoryStream stream) { mxData.player_id = NFNetController.NFToPB(xID); mxData.msg_data = stream.ToArray(); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, mxData); mxHead.unMsgID = (UInt16)unMsgID; mxHead.unDataLen = (UInt32)mxBody.Length + (UInt32)ConstDefine.NF_PACKET_HEAD_SIZE; byte[] bodyByte = mxBody.ToArray(); byte[] headByte = mxHead.EnCode(); byte[] sendBytes = new byte[mxHead.unDataLen]; headByte.CopyTo(sendBytes, 0); bodyByte.CopyTo(sendBytes, headByte.Length); mxNetController.mxNetClient.SendBytes(sendBytes); ///////////////////////////////////////////////////////////////// NFLog.Instance.Log(NFLog.LOG_LEVEL.INFO, "SendMsg:" + unMsgID); }
//WSAD移动 public void RequireMove(NFrame.NFGUID objectID, int nType, UnityEngine.Vector3 vPos, UnityEngine.Vector3 vTar) { NFMsg.ReqAckPlayerMove xData = new NFMsg.ReqAckPlayerMove(); xData.mover = NFNetController.NFToPB(objectID); xData.moveType = nType; NFMsg.Vector3 xNowPos = new NFMsg.Vector3(); xNowPos.x = vPos.x; xNowPos.y = vPos.y; xNowPos.z = vPos.z; xData.source_pos.Add(xNowPos); NFMsg.Vector3 xTargetPos = new NFMsg.Vector3(); xTargetPos.x = vTar.x; xTargetPos.y = vTar.y; xTargetPos.z = vTar.z; xData.target_pos.Add(xTargetPos); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_MOVE, mxBody); //为了表现,客户端先走,后续同步 }
public void RequirePickUpItem(NFrame.NFGUID objectID, NFrame.NFGUID nItemID) { NFMsg.ReqPickDropItem xData = new NFMsg.ReqPickDropItem(); xData.item_guid = NFNetController.NFToPB(nItemID); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_PICK_ITEM, mxBody); }
//switch fight hero public void RequireSwitchFightHero(NFrame.NFGUID objectID, NFrame.NFGUID hero) { NFMsg.ReqSwitchFightHero xData = new NFMsg.ReqSwitchFightHero(); xData.Heroid = NFNetController.NFToPB(hero); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGEC_REQ_SWITCH_FIGHT_HERO, mxBody); }
public void RequireEnterGameServer(NFrame.NFGUID objectID, string strAccount, string strRoleName, int nServerID) { NFMsg.ReqEnterGameServer xData = new NFMsg.ReqEnterGameServer(); xData.name = UnicodeEncoding.Default.GetBytes(strRoleName); xData.account = UnicodeEncoding.Default.GetBytes(strAccount); xData.game_id = nServerID; xData.id = NFNetController.NFToPB(objectID); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_ENTER_GAME, mxBody); }
public void RequireRemoveRow(NFrame.NFGUID self, string strRecordName, int nRow) { NFMsg.ObjectRecordRemove xData = new NFMsg.ObjectRecordRemove(); xData.player_id = NFNetController.NFToPB(self); xData.record_name = System.Text.Encoding.Default.GetBytes(strRecordName); xData.remove_row.Add(nRow); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload record removeRow"); SendMsg(self, NFMsg.EGameMsgID.EGMI_ACK_REMOVE_ROW, mxBody); }
public void RequireChat(NFrame.NFGUID objectID, NFrame.NFGUID targetID, int nType, string strData) { NFMsg.ReqAckPlayerChat xData = new NFMsg.ReqAckPlayerChat(); xData.chat_id = NFNetController.NFToPB(targetID); xData.chat_name = UnicodeEncoding.Default.GetBytes(mxNetController.strRoleName); xData.chat_type = (NFMsg.ReqAckPlayerChat.EGameChatType)nType; xData.chat_info = UnicodeEncoding.Default.GetBytes(strData); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_CHAT, mxBody); }
public void RequireUseItem(NFrame.NFGUID objectID, string strItemID, NFrame.NFGUID nTargetID) { NFMsg.ReqAckUseItem xData = new NFMsg.ReqAckUseItem(); xData.user = NFNetController.NFToPB(objectID); xData.item_guid = new NFMsg.Ident(); xData.item = new ItemStruct(); xData.item.item_id = strItemID; xData.item.item_count = 1; xData.targetid = (NFNetController.NFToPB(nTargetID)); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_ITEM_OBJECT, mxBody); }
public void RequireSwapRow(NFrame.NFGUID self, string strRecordName, int nOriginRow, int nTargetRow) { NFMsg.ObjectRecordSwap xData = new NFMsg.ObjectRecordSwap(); xData.player_id = NFNetController.NFToPB(self); xData.origin_record_name = System.Text.Encoding.Default.GetBytes(strRecordName); xData.target_record_name = System.Text.Encoding.Default.GetBytes(strRecordName); xData.row_origin = nOriginRow; xData.row_target = nTargetRow; mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload record swapRow"); SendMsg(self, NFMsg.EGameMsgID.EGMI_ACK_SWAP_ROW, mxBody); }
public void RequireMoveImmune(NFrame.NFGUID objectID, float fX, float fZ) { NFMsg.ReqAckPlayerMove xData = new NFMsg.ReqAckPlayerMove(); xData.mover = NFNetController.NFToPB(objectID); xData.moveType = 0; NFMsg.Vector3 xTargetPos = new NFMsg.Vector3(); xTargetPos.x = fX; xTargetPos.z = fZ; xData.target_pos.Add(xTargetPos); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_MOVE_IMMUNE, mxBody); }
////////////////////////////////////修改自身属性 public void RequirePropertyInt(NFrame.NFGUID objectID, string strPropertyName, NFDataList.TData newVar) { NFMsg.ObjectPropertyInt xData = new NFMsg.ObjectPropertyInt(); xData.player_id = NFNetController.NFToPB(objectID); NFMsg.PropertyInt xPropertyInt = new NFMsg.PropertyInt(); xPropertyInt.property_name = System.Text.Encoding.Default.GetBytes(strPropertyName); xPropertyInt.data = newVar.IntVal(); xData.property_list.Add(xPropertyInt); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload int"); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_ACK_PROPERTY_INT, mxBody); }
public void RequirePropertyVector3(NFrame.NFGUID objectID, string strPropertyName, NFDataList.TData newVar) { NFMsg.ObjectPropertyVector3 xData = new NFMsg.ObjectPropertyVector3(); xData.player_id = NFNetController.NFToPB(objectID); NFMsg.PropertyVector3 xProperty = new NFMsg.PropertyVector3(); xProperty.property_name = System.Text.Encoding.Default.GetBytes(strPropertyName); xProperty.data = NFNetController.NFToPB(newVar.Vector3Val()); xData.property_list.Add(xProperty); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); NFNetController.Instance.mxNetSender.SendMsg(objectID, NFMsg.EGameMsgID.EGMI_ACK_PROPERTY_VECTOR3, mxBody); }
public void RequireUseItem(NFrame.NFGUID objectID, string strItemID, NFrame.NFGUID nTargetID, UnityEngine.Vector3 pos) { NFMsg.ReqAckUseItem xData = new NFMsg.ReqAckUseItem(); xData.user = NFNetController.NFToPB(objectID); xData.item_guid = new NFMsg.Ident(); xData.item = new ItemStruct(); xData.item.item_id = UnicodeEncoding.Default.GetBytes(strItemID); xData.item.item_count = 1; xData.targetid = (NFNetController.NFToPB(nTargetID)); xData.position = (NFNetController.NFToPB(new NFVector3(pos.x, pos.y, pos.z))); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(objectID, NFMsg.EGameMsgID.EGMI_REQ_ITEM_OBJECT, mxBody); }
public void RequirePropertyString(NFrame.NFGUID objectID, string strPropertyName, NFDataList.TData newVar) { NFMsg.ObjectPropertyString xData = new NFMsg.ObjectPropertyString(); xData.player_id = NFNetController.NFToPB(objectID); NFMsg.PropertyString xPropertyString = new NFMsg.PropertyString(); xPropertyString.property_name = System.Text.Encoding.Default.GetBytes(strPropertyName); xPropertyString.data = System.Text.Encoding.Default.GetBytes(newVar.StringVal()); xData.property_list.Add(xPropertyString); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload String"); NFNetController.Instance.mxNetSender.SendMsg(objectID, NFMsg.EGameMsgID.EGMI_ACK_PROPERTY_STRING, mxBody); }
public void RequireRecordVector3(NFrame.NFGUID self, string strRecordName, int nRow, int nCol, NFDataList.TData newVar) { NFMsg.ObjectRecordVector3 xData = new NFMsg.ObjectRecordVector3(); xData.player_id = NFNetController.NFToPB(self); xData.record_name = System.Text.Encoding.Default.GetBytes(strRecordName); NFMsg.RecordVector3 xRecordVector = new NFMsg.RecordVector3(); xRecordVector.row = nRow; xRecordVector.col = nCol; xRecordVector.data = NFNetController.NFToPB(newVar.Vector3Val()); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); SendMsg(self, NFMsg.EGameMsgID.EGMI_ACK_RECORD_VECTOR3, mxBody); }
public void RequireRecordObject(NFrame.NFGUID self, string strRecordName, int nRow, int nCol, NFDataList.TData newVar) { NFMsg.ObjectRecordObject xData = new NFMsg.ObjectRecordObject(); xData.player_id = NFNetController.NFToPB(self); xData.record_name = System.Text.Encoding.Default.GetBytes(strRecordName); NFMsg.RecordObject xRecordObject = new NFMsg.RecordObject(); xData.property_list.Add(xRecordObject); xRecordObject.row = nRow; xRecordObject.col = nCol; xRecordObject.data = NFNetController.NFToPB(newVar.ObjectVal()); mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload record object"); SendMsg(self, NFMsg.EGameMsgID.EGMI_ACK_RECORD_OBJECT, mxBody); }
public void RequireAddRow(NFrame.NFGUID self, string strRecordName, int nRow) { NFMsg.ObjectRecordAddRow xData = new NFMsg.ObjectRecordAddRow(); xData.player_id = NFNetController.NFToPB(self); xData.record_name = System.Text.Encoding.Default.GetBytes(strRecordName); NFMsg.RecordAddRowStruct xRecordAddRowStruct = new NFMsg.RecordAddRowStruct(); xData.row_data.Add(xRecordAddRowStruct); xRecordAddRowStruct.row = nRow; NFIObject xObject = NFCKernelModule.Instance.GetObject(self); NFIRecord xRecord = xObject.GetRecordManager().GetRecord(strRecordName); NFDataList xRowData = xRecord.QueryRow(nRow); for (int i = 0; i < xRowData.Count(); i++) { switch (xRowData.GetType(i)) { case NFDataList.VARIANT_TYPE.VTYPE_INT: { NFMsg.RecordInt xRecordInt = new NFMsg.RecordInt(); xRecordInt.row = nRow; xRecordInt.col = i; xRecordInt.data = xRowData.IntVal(i); xRecordAddRowStruct.record_int_list.Add(xRecordInt); } break; case NFDataList.VARIANT_TYPE.VTYPE_FLOAT: { NFMsg.RecordFloat xRecordFloat = new NFMsg.RecordFloat(); xRecordFloat.row = nRow; xRecordFloat.col = i; xRecordFloat.data = (float)xRowData.FloatVal(i); xRecordAddRowStruct.record_float_list.Add(xRecordFloat); } break; case NFDataList.VARIANT_TYPE.VTYPE_STRING: { NFMsg.RecordString xRecordString = new NFMsg.RecordString(); xRecordString.row = nRow; xRecordString.col = i; xRecordString.data = System.Text.Encoding.Default.GetBytes(xRowData.StringVal(i)); xRecordAddRowStruct.record_string_list.Add(xRecordString); } break; case NFDataList.VARIANT_TYPE.VTYPE_OBJECT: { NFMsg.RecordObject xRecordObject = new NFMsg.RecordObject(); xRecordObject.row = nRow; xRecordObject.col = i; xRecordObject.data = NFNetController.NFToPB(xRowData.ObjectVal(i)); xRecordAddRowStruct.record_object_list.Add(xRecordObject); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR2: { NFMsg.RecordVector2 xRecordVector = new NFMsg.RecordVector2(); xRecordVector.row = nRow; xRecordVector.col = i; xRecordVector.data = NFNetController.NFToPB(xRowData.Vector2Val(i)); xRecordAddRowStruct.record_vector2_list.Add(xRecordVector); } break; case NFDataList.VARIANT_TYPE.VTYPE_VECTOR3: { NFMsg.RecordVector3 xRecordVector = new NFMsg.RecordVector3(); xRecordVector.row = nRow; xRecordVector.col = i; xRecordVector.data = NFNetController.NFToPB(xRowData.Vector3Val(i)); xRecordAddRowStruct.record_vector3_list.Add(xRecordVector); } break; } } mxBody.SetLength(0); mxSerializer.Serialize(mxBody, xData); Debug.Log("send upload record addRow"); SendMsg(self, NFMsg.EGameMsgID.EGMI_ACK_ADD_ROW, mxBody); }