public byte   Grade;       //难度等级

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteInt(GameLevelId);
            ms.WriteByte(Grade);
            return(ms.ToArray());
        }
    }
Exemple #2
0
    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteByte(SkillCount);
        for (int i = 0; i < SkillCount; i++)
        {
            var item = CurrSkillDataList[i];
            ms.WriteInt(item.SkillId);
            ms.WriteInt(item.SkillLevel);
            ms.WriteByte(item.SlotsNo);
        }

        return(ms.ToArray());
    }
Exemple #3
0
    public string RoleNickName; //角色名称

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteByte(JobId);
            ms.WriteUTF8String(RoleNickName);
            return(ms.ToArray());
        }
    }
Exemple #4
0
    public int    Equip_RingTableId;     //穿戴戒指

    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteBool(IsSuccess);
        if (IsSuccess)
        {
            ms.WriteInt(RoldId);
            ms.WriteUTF8String(RoleNickName);
            ms.WriteByte(JobId);
            ms.WriteInt(Level);
            ms.WriteInt(TotalRechargeMoney);
            ms.WriteInt(Money);
            ms.WriteInt(Gold);
            ms.WriteInt(Exp);
            ms.WriteInt(MaxHP);
            ms.WriteInt(MaxMP);
            ms.WriteInt(CurrHP);
            ms.WriteInt(CurrMP);
            ms.WriteInt(Attack);
            ms.WriteInt(Defense);
            ms.WriteInt(Hit);
            ms.WriteInt(Dodge);
            ms.WriteInt(Cri);
            ms.WriteInt(Res);
            ms.WriteInt(Fighting);
            ms.WriteInt(LastInWorldMapId);
            ms.WriteUTF8String(LastInWorldMapPos);
            ms.WriteInt(Equip_Weapon);
            ms.WriteInt(Equip_Pants);
            ms.WriteInt(Equip_Clothes);
            ms.WriteInt(Equip_Belt);
            ms.WriteInt(Equip_Cuff);
            ms.WriteInt(Equip_Necklace);
            ms.WriteInt(Equip_Shoe);
            ms.WriteInt(Equip_Ring);
            ms.WriteInt(Equip_WeaponTableId);
            ms.WriteInt(Equip_PantsTableId);
            ms.WriteInt(Equip_ClothesTableId);
            ms.WriteInt(Equip_BeltTableId);
            ms.WriteInt(Equip_CuffTableId);
            ms.WriteInt(Equip_NecklaceTableId);
            ms.WriteInt(Equip_ShoeTableId);
            ms.WriteInt(Equip_RingTableId);
        }
        else
        {
            ms.WriteInt(MsgCode);
        }

        return(ms.ToArray());
    }
    public int    GoodsServerId; //装备服务器端编号

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteByte(Type);
            ms.WriteInt(GoodsId);
            ms.WriteInt(GoodsServerId);
            return(ms.ToArray());
        }
    }
    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteInt(BackpackItemChangeCount);
        for (int i = 0; i < BackpackItemChangeCount; i++)
        {
            ms.WriteInt(ItemList[i].BackpackId);
            ms.WriteByte(ItemList[i].ChangeType);
            ms.WriteByte(ItemList[i].GoodsType);
            ms.WriteInt(ItemList[i].GoodsId);
            ms.WriteInt(ItemList[i].GoodsCount);
            ms.WriteInt(ItemList[i].GoodsServerId);
        }

        return(ms.ToArray());
    }
    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteInt(RechargeProductCount);
        for (int i = 0; i < RechargeProductCount; i++)
        {
            var item = CurrItemList[i];
            ms.WriteInt(item.RechargeProductId);
            ms.WriteUTF8String(item.ProductDesc);
            ms.WriteByte(item.CanBuy);
            ms.WriteInt(item.RemainDay);
            ms.WriteByte(item.DoubleFlag);
        }

        return(ms.ToArray());
    }
Exemple #8
0
    public string RoleNickName; //角色名称

    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteByte(JobId);
        ms.WriteUTF8String(RoleNickName);

        return(ms.ToArray());
    }
Exemple #9
0
    public byte   Grade;       //难度等级

    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteInt(GameLevelId);
        ms.WriteByte(Grade);

        return(ms.ToArray());
    }
    public string RoleNickName; //角色名称

    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteByte(JobId);
        ms.WriteUTF8String(RoleNickName);

        return(ms.ToArray());
    }
    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteInt(BackpackItemChangeCount);
        for (int i = 0; i < BackpackItemChangeCount; i++)
        {
            var item = ItemList[i];
            ms.WriteInt(item.BackpackId);
            ms.WriteByte(item.ChangeType);
            ms.WriteByte(item.GoodsType);
            ms.WriteInt(item.GoodsId);
            ms.WriteInt(item.GoodsCount);
            ms.WriteInt(item.GoodsServerId);
        }

        return(ms.ToArray());
    }
    public int    GoodsServerId; //装备服务器端编号

    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteByte(Type);
        ms.WriteInt(GoodsId);
        ms.WriteInt(GoodsServerId);

        return(ms.ToArray());
    }
    public byte   IsPutOn;        //是否穿戴

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteInt(EnchantLevel);
            ms.WriteByte(BaseAttr1Type);
            ms.WriteInt(BaseAttr1Value);
            ms.WriteByte(BaseAttr2Type);
            ms.WriteInt(BaseAttr2Value);
            ms.WriteInt(HP);
            ms.WriteInt(MP);
            ms.WriteInt(Attack);
            ms.WriteInt(Defense);
            ms.WriteInt(Hit);
            ms.WriteInt(Dodge);
            ms.WriteInt(Cri);
            ms.WriteInt(Res);
            ms.WriteByte(IsPutOn);
            return(ms.ToArray());
        }
    }
Exemple #14
0
    public byte   IsPutOn;        //是否穿戴

    public byte[] ToArray(bool isChild = false)
    {
        MMO_MemoryStream ms = null;

        if (!isChild)
        {
            ms = GameEntry.Socket.SocketSendMS;
            ms.SetLength(0);
            ms.WriteUShort(ProtoCode);
        }
        else
        {
            ms = GameEntry.Pool.DequeueClassObject <MMO_MemoryStream>();
            ms.SetLength(0);
        }

        ms.WriteInt(EnchantLevel);
        ms.WriteByte(BaseAttr1Type);
        ms.WriteInt(BaseAttr1Value);
        ms.WriteByte(BaseAttr2Type);
        ms.WriteInt(BaseAttr2Value);
        ms.WriteInt(HP);
        ms.WriteInt(MP);
        ms.WriteInt(Attack);
        ms.WriteInt(Defense);
        ms.WriteInt(Hit);
        ms.WriteInt(Dodge);
        ms.WriteInt(Cri);
        ms.WriteInt(Res);
        ms.WriteByte(IsPutOn);

        byte[] retBuffer = ms.ToArray();
        if (isChild)
        {
            GameEntry.Pool.EnqueueClassObject(ms);
        }
        return(retBuffer);
    }
    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;
        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteInt(roleBackpackId);
        ms.WriteByte(GoodsType);
        ms.WriteInt(GoodsId);
        ms.WriteInt(GoodsServerId);
        ms.WriteInt(SellCount);

        return ms.ToArray();
    }
Exemple #16
0
    public int    GoodsServerId; //装备服务器端编号

    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteByte(Type);
        ms.WriteInt(GoodsId);
        ms.WriteInt(GoodsServerId);

        return(ms.ToArray());
    }
Exemple #17
0
 public byte[] ToArray()
 {
     using (MMO_MemoryStream ms = new MMO_MemoryStream())
     {
         ms.WriteUShort(ProtoCode);
         ms.WriteInt(SkillCount);
         for (int i = 0; i < Skills.Count; i++)
         {
             ms.WriteInt(Skills[i].SkillId);
             ms.WriteInt(Skills[i].SKillLevel);
             ms.WriteByte(Skills[i].SlotsNO);
         }
         return(ms.ToArray());
     }
 }
Exemple #18
0
    public byte   IsPutOn;        //是否穿戴

    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteInt(EnchantLevel);
        ms.WriteByte(BaseAttr1Type);
        ms.WriteInt(BaseAttr1Value);
        ms.WriteByte(BaseAttr2Type);
        ms.WriteInt(BaseAttr2Value);
        ms.WriteInt(HP);
        ms.WriteInt(MP);
        ms.WriteInt(Attack);
        ms.WriteInt(Defense);
        ms.WriteInt(Hit);
        ms.WriteInt(Dodge);
        ms.WriteInt(Cri);
        ms.WriteInt(Res);
        ms.WriteByte(IsPutOn);

        return(ms.ToArray());
    }
 public byte[] ToArray()
 {
     using (MMO_MemoryStream ms = new MMO_MemoryStream())
     {
         ms.WriteUShort(ProtoCode);
         ms.WriteInt(RoleCount);
         for (int i = 0; i < RoleCount; i++)
         {
             ms.WriteInt(RoleList[i].RoleId);
             ms.WriteUTF8String(RoleList[i].RoleNickName);
             ms.WriteByte(RoleList[i].RoleJob);
             ms.WriteInt(RoleList[i].RoleLevel);
         }
         return(ms.ToArray());
     }
 }
 public byte[] ToArray()
 {
     using (MMO_MemoryStream ms = new MMO_MemoryStream())
     {
         ms.WriteUShort(ProtoCode);
         ms.WriteInt(BackpackItemCount);
         for (int i = 0; i < BackpackItemCount; i++)
         {
             ms.WriteInt(ItemList[i].BackpackItemId);
             ms.WriteByte(ItemList[i].GoodsType);
             ms.WriteInt(ItemList[i].GoodsId);
             ms.WriteInt(ItemList[i].GoodsServerId);
             ms.WriteInt(ItemList[i].GoodsOverlayCount);
         }
         return(ms.ToArray());
     }
 }
Exemple #21
0
    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;

        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteInt(RoleCount);
        for (int i = 0; i < RoleCount; i++)
        {
            ms.WriteInt(RoleList[i].RoleId);
            ms.WriteUTF8String(RoleList[i].RoleNickName);
            ms.WriteByte(RoleList[i].RoleJob);
            ms.WriteInt(RoleList[i].RoleLevel);
        }

        return(ms.ToArray());
    }
    public int    GoodsServerId; //装备服务器端编号

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteBool(IsSuccess);
            if (IsSuccess)
            {
                ms.WriteByte(Type);
                ms.WriteInt(GoodsId);
                ms.WriteInt(GoodsServerId);
            }
            else
            {
            }
            ms.WriteInt(MsgCode);
            return(ms.ToArray());
        }
    }
    public int GoodsServerId; //装备服务器端编号

    public byte[] ToArray()
    {
        MMO_MemoryStream ms = GameEntry.Socket.SocketSendMS;
        ms.SetLength(0);
        ms.WriteUShort(ProtoCode);

        ms.WriteBool(IsSuccess);
        if (IsSuccess)
        {
            ms.WriteByte(Type);
            ms.WriteInt(GoodsId);
            ms.WriteInt(GoodsServerId);
        }
        else
        {
        }
        ms.WriteInt(MsgCode);

        return ms.ToArray();
    }
    public int    ErrorCode;           //错误码

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteBool(IsSuccess);
            if (IsSuccess)
            {
                ms.WriteInt(RechargeProductId);
                ms.WriteByte(RechargeProductType);
                ms.WriteInt(Money);
                ms.WriteInt(RemainDay);
            }
            else
            {
                ms.WriteInt(ErrorCode);
            }
            return(ms.ToArray());
        }
    }
Exemple #25
0
    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteInt(RoleCount);
        for (int i = 0; i < RoleCount; i++)
        {
            var item = RoleList[i];
            ms.WriteInt(item.RoleId);
            ms.WriteUTF8String(item.RoleNickName);
            ms.WriteByte(item.RoleJob);
            ms.WriteInt(item.RoleLevel);
        }

        return(ms.ToArray());
    }
    public byte[] ToArray(bool isChild = false)
    {
        MMO_MemoryStream ms = null;

        if (!isChild)
        {
            ms = GameEntry.Socket.SocketSendMS;
            ms.SetLength(0);
            ms.WriteUShort(ProtoCode);
        }
        else
        {
            ms = GameEntry.Pool.DequeueClassObject <MMO_MemoryStream>();
            ms.SetLength(0);
        }

        ms.WriteInt(AttackRoleId);
        ms.WriteInt(SkillId);
        ms.WriteInt(SkillLevel);
        ms.WriteFloat(RolePosX);
        ms.WriteFloat(RolePosY);
        ms.WriteFloat(RolePosZ);
        ms.WriteFloat(RoleYAngle);
        ms.WriteInt(BeAttackCount);
        for (int i = 0; i < BeAttackCount; i++)
        {
            var item = ItemList[i];
            ms.WriteInt(item.BeAttackRoleId);
            ms.WriteInt(item.ReduceHp);
            ms.WriteByte(item.IsCri);
        }

        byte[] retBuffer = ms.ToArray();
        if (isChild)
        {
            GameEntry.Pool.EnqueueClassObject(ms);
        }
        return(retBuffer);
    }
Exemple #27
0
 public byte[] ToArray()
 {
     using (MMO_MemoryStream ms = new MMO_MemoryStream())
     {
         ms.WriteUShort(ProtoCode);
         ms.WriteInt(AttackRoleId);
         ms.WriteInt(SkillId);
         ms.WriteInt(SkillLevel);
         ms.WriteFloat(RolePosX);
         ms.WriteFloat(RolePosY);
         ms.WriteFloat(RolePosZ);
         ms.WriteFloat(RoleYAngle);
         ms.WriteInt(BeAttackCount);
         for (int i = 0; i < BeAttackCount; i++)
         {
             ms.WriteInt(ItemList[i].BeAttackRoleId);
             ms.WriteInt(ItemList[i].ReduceHp);
             ms.WriteByte(ItemList[i].IsCri);
         }
         return(ms.ToArray());
     }
 }
Exemple #28
0
    public int    ErrorCode;           //错误码

    public byte[] ToArray(MMO_MemoryStream ms, bool isChild = false)
    {
        ms.SetLength(0);
        if (!isChild)
        {
            ms.WriteUShort(ProtoCode);
        }

        ms.WriteBool(IsSuccess);
        if (IsSuccess)
        {
            ms.WriteInt(RechargeProductId);
            ms.WriteByte(RechargeProductType);
            ms.WriteInt(Money);
            ms.WriteInt(RemainDay);
        }
        else
        {
            ms.WriteInt(ErrorCode);
        }

        return(ms.ToArray());
    }
    public string LastInWorldMapPos; //最后进入的世界地图坐标

    public byte[] ToArray()
    {
        using (MMO_MemoryStream ms = new MMO_MemoryStream())
        {
            ms.WriteUShort(ProtoCode);
            ms.WriteBool(IsSucess);
            if (IsSucess)
            {
                ms.WriteInt(RoldId);
                ms.WriteUTF8String(RoleNickName);
                ms.WriteByte(JobId);
                ms.WriteInt(Level);
                ms.WriteInt(Money);
                ms.WriteInt(Gold);
                ms.WriteInt(Exp);
                ms.WriteInt(MaxHP);
                ms.WriteInt(MaxMP);
                ms.WriteInt(CurrHP);
                ms.WriteInt(CurrMP);
                ms.WriteInt(Attack);
                ms.WriteInt(Defense);
                ms.WriteInt(Hit);
                ms.WriteInt(Dodge);
                ms.WriteInt(Cri);
                ms.WriteInt(Res);
                ms.WriteInt(Fighting);
                ms.WriteInt(LastInWorldMapId);
                ms.WriteUTF8String(LastInWorldMapPos);
            }
            else
            {
                ms.WriteShort(MessageId);
            }
            return(ms.ToArray());
        }
    }
Exemple #30
0
    /// <summary>
    /// 生成依赖关系文件
    /// </summary>
    private void OnCreateDependenciesFile()
    {
        //第一次循环 把所有的Asset存储到一个列表里

        //临时列表
        List <AssetEntity> tempLst = new List <AssetEntity>();

        //循环设置文件夹包括子文件里边的项
        for (int i = 0; i < m_List.Count; i++)
        {
            AssetBundleEntity entity = m_List[i];//取到一个节点

            string[] folderArr = new string[entity.PathList.Count];
            for (int j = 0; j < entity.PathList.Count; j++)
            {
                string path = Application.dataPath + "/" + entity.PathList[j];
                //Debug.LogError("path=" + path);
                CollectFileInfo(tempLst, path);
            }
        }

        //
        int len = tempLst.Count;

        //资源列表
        List <AssetEntity> assetList = new List <AssetEntity>();

        for (int i = 0; i < len; i++)
        {
            AssetEntity entity = tempLst[i];

            AssetEntity newEntity = new AssetEntity();
            newEntity.Category        = entity.Category;
            newEntity.AssetName       = entity.AssetFullName.Substring(entity.AssetFullName.LastIndexOf("/") + 1);
            newEntity.AssetName       = newEntity.AssetName.Substring(0, newEntity.AssetName.LastIndexOf("."));
            newEntity.AssetFullName   = entity.AssetFullName;
            newEntity.AssetBundleName = entity.AssetBundleName;

            assetList.Add(newEntity);

            //场景不需要检查依赖项
            if (entity.Category == AssetCategory.Scenes)
            {
                continue;
            }

            newEntity.DependsAssetList = new List <AssetDependsEntity>();

            string[] arr = AssetDatabase.GetDependencies(entity.AssetFullName);
            foreach (string str in arr)
            {
                if (!str.Equals(newEntity.AssetFullName, StringComparison.CurrentCultureIgnoreCase) && GetIsAsset(tempLst, str))
                {
                    AssetDependsEntity assetDepends = new AssetDependsEntity();
                    assetDepends.Category      = GetAssetCategory(str);
                    assetDepends.AssetFullName = str;

                    //把依赖资源 加入到依赖资源列表
                    newEntity.DependsAssetList.Add(assetDepends);
                }
            }
        }

        //生成一个Json文件
        string targetPath = Application.dataPath + "/../AssetBundles/" + dal.GetVersion() + "/" + arrBuildTarget[buildTargetIndex];

        if (!Directory.Exists(targetPath))
        {
            Directory.CreateDirectory(targetPath);
        }

        string strJsonFilePath = targetPath + "/AssetInfo.json"; //版本文件路径

        IOUtil.CreateTextFile(strJsonFilePath, LitJson.JsonMapper.ToJson(assetList));
        Debug.Log("生成 AssetInfo.json 完毕");

        MMO_MemoryStream ms = new MMO_MemoryStream();

        //生成二进制文件
        len = assetList.Count;
        ms.WriteInt(len);

        for (int i = 0; i < len; i++)
        {
            AssetEntity entity = assetList[i];
            ms.WriteByte((byte)entity.Category);
            ms.WriteUTF8String(entity.AssetFullName);
            ms.WriteUTF8String(entity.AssetBundleName);

            if (entity.DependsAssetList != null)
            {
                //添加依赖资源
                int depLen = entity.DependsAssetList.Count;
                ms.WriteInt(depLen);
                for (int j = 0; j < depLen; j++)
                {
                    AssetDependsEntity assetDepends = entity.DependsAssetList[j];
                    ms.WriteByte((byte)assetDepends.Category);
                    ms.WriteUTF8String(assetDepends.AssetFullName);
                }
            }
            else
            {
                ms.WriteInt(0);
            }
        }

        string filePath = targetPath + "/AssetInfo.bytes"; //版本文件路径

        byte[] buffer = ms.ToArray();
        buffer = ZlibHelper.CompressBytes(buffer);
        FileStream fs = new FileStream(filePath, FileMode.Create);

        fs.Write(buffer, 0, buffer.Length);
        fs.Close();
        fs.Dispose();
        Debug.Log("生成 AssetInfo.bytes 完毕");
    }