From 5bbfae3f78f50c43ae7d4fee5c55d451e7fdfa02 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 16 六月 2023 15:37:30 +0800
Subject: [PATCH] 0312 同步版本- 更新坐骑信息封包
---
System/Mount/MountModel.cs | 14 +++++--
Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs | 51 +++++++++++--------------
2 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs b/Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs
index e2b7e1e..4bc4ba7 100644
--- a/Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs
@@ -1,39 +1,34 @@
using UnityEngine;
using System.Collections;
-//A3 01 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息 #tagTrainHorseData
+//A3 01 鍧愰獞鍩瑰吇淇℃伅 #tagTrainHorseData
+public class HA301_tagTrainHorseData : GameNetPackBasic
+{
+ public byte LV; //绛夐樁
+ public uint EatItemCount; //褰撳墠闃跺凡鍚冧腹涓暟
+ public uint SkinPlusState; //骞诲寲婵�娲荤姸鎬侊紝鎸変綅瀛樺偍鏄惁婵�娲伙紝骞诲寲缂栧彿ID瀵瑰簲浣嶏紝搴熷純锛屼娇鐢� SkinPlusStateList
+ public byte TrainTypes; //鍩瑰吇绫诲瀷鏁�
+ public uint[] TrainLVList; //鍩瑰吇绛夐樁鍒楄〃锛岀储寮曚负鍩瑰吇绫诲瀷鍑�1
+ public uint[] TrainItemCountList; //鍩瑰吇褰撳墠闃跺凡鍚冨煿鍏讳腹涓暟鍒楄〃锛岀储寮曚负鍩瑰吇绫诲瀷鍑�1
+ public byte SkinPlusStateCount; //骞诲寲婵�娲荤姸鎬佸�兼暟
+ public uint[] SkinPlusStateList; //骞诲寲婵�娲荤姸鎬佸�煎垪琛紝鎸変綅瀛樺偍鏄惁婵�娲伙紝骞诲寲缂栧彿ID瀵瑰簲浣�
-
-public class HA301_tagTrainHorseData : GameNetPackBasic {
-
- public byte LV; //锟饺斤拷
-
- public uint EatItemCount; //锟斤拷前锟斤拷锟窖吃碉拷锟斤拷锟斤拷
-
- public uint SkinPlusState; //锟矫伙拷锟斤拷锟斤拷状态锟斤拷锟斤拷位锟芥储锟角否激活,锟矫伙拷锟斤拷锟絀D锟斤拷应位
-
-
-
- public HA301_tagTrainHorseData () {
-
+ public HA301_tagTrainHorseData()
+ {
_cmd = (ushort)0xA301;
-
}
-
-
- public override void ReadFromBytes (byte[] vBytes) {
-
- TransBytes (out LV, vBytes, NetDataType.BYTE);
-
- TransBytes (out EatItemCount, vBytes, NetDataType.DWORD);
-
- TransBytes (out SkinPlusState, vBytes, NetDataType.DWORD);
-
+ public override void ReadFromBytes(byte[] vBytes)
+ {
+ TransBytes(out LV, vBytes, NetDataType.BYTE);
+ TransBytes(out EatItemCount, vBytes, NetDataType.DWORD);
+ TransBytes(out SkinPlusState, vBytes, NetDataType.DWORD);
+ TransBytes(out TrainTypes, vBytes, NetDataType.BYTE);
+ TransBytes(out TrainLVList, vBytes, NetDataType.DWORD, TrainTypes);
+ TransBytes(out TrainItemCountList, vBytes, NetDataType.DWORD, TrainTypes);
+ TransBytes(out SkinPlusStateCount, vBytes, NetDataType.BYTE);
+ TransBytes(out SkinPlusStateList, vBytes, NetDataType.DWORD, SkinPlusStateCount);
}
-
-
}
-
diff --git a/System/Mount/MountModel.cs b/System/Mount/MountModel.cs
index 8012a7e..b4504cd 100644
--- a/System/Mount/MountModel.cs
+++ b/System/Mount/MountModel.cs
@@ -560,7 +560,8 @@
public int HorseLV = 1;
public int HorseEatCount = 0; //涔樹互姣忎釜涓圭殑缁忛獙灏辨槸褰撳墠缁忛獙
- public uint SkinPlusState = 0;
+ //public uint SkinPlusState = 0;
+ public uint[] horseSkinArray; //鍧愰獞骞诲寲婵�娲绘敮鎸佽秴杩�31
public event Action onHorseInfoUpdate;
public event Action onHorseLVUP;
public event Action onMountSkinActive;
@@ -583,7 +584,7 @@
}
- if (MountHA301MorePack && info.SkinPlusState > SkinPlusState)
+ if (MountHA301MorePack && info.SkinPlusStateList != horseSkinArray)
{
isSkinActive = true;
}
@@ -593,7 +594,7 @@
MountDanRed();
}
HorseEatCount = (int)info.EatItemCount;
- SkinPlusState = info.SkinPlusState;
+ horseSkinArray = info.SkinPlusStateList;
RefreshHorseAllAttr();
@@ -985,7 +986,12 @@
public bool isMountSkinActiveByID(int ID)
{
- if (((int)Math.Pow(2, ID) & SkinPlusState) <= 0)
+ if (horseSkinArray == null || horseSkinArray.Length == 0)
+ return false;
+
+ int index = ID / 31;
+ int value = ID % 31;
+ if (((int)Math.Pow(2, value) & horseSkinArray[index]) <= 0)
//鏈縺娲荤毊鑲�
return false;
--
Gitblit v1.8.0