少年修仙传客户端代码仓库
hch
2023-06-16 5bbfae3f78f50c43ae7d4fee5c55d451e7fdfa02
0312 同步版本- 更新坐骑信息封包
2个文件已修改
65 ■■■■■ 已修改文件
Core/NetworkPackage/ServerPack/HA3_Function/HA301_tagTrainHorseData.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Mount/MountModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;    //�û�����״̬����λ�洢�Ƿ񼤻�û����ID��Ӧλ
    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);
    }
}
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;