Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs
@@ -1,67 +1,11 @@ using UnityEngine; using System.Collections; using LitJson; using System.Collections.Generic; // B4 24 回合战斗初始化 #tagSCTurnFightInit public class DTCB424_tagSCTurnFightInit : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HB424_tagSCTurnFightInit vNetData = vNetPack as HB424_tagSCTurnFightInit; // 【战斗地图定义】 // 前后端协议通讯时,如果有MapID、FuncLineID信息,一般代表的是某个战斗功能, // 并可绑定某个战斗场景(相当于MMO中的不同功能及战斗场景地图) // 卡牌中也可理解为不同的战斗功能及绑定不同的战斗背景图之类 // 目前几个固定MapID定义 // 主线小怪战斗 MapID = 1 // FuncLineID = 章节*10000+关卡编号*100+第x波,如第一章,第10关卡,第5波时值 = 11005, // 单章最大支持99小关,单关最大支持99波怪 // 主线boss战斗 MapID = 2 // FuncLineID = 章节*10000+关卡编号*100+第x波,如第一章,第10关卡的boss值 = 11001, // 注:关卡boss波数固定为只有1波 // 前端可通过MapID及对应的FuncLineID加载不同的战斗场景背景、背景音乐等 // HB424_tagSCTurnFightInit // MapID; // 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等) // FuncLineID; // MapID对应的扩展值,如具体某个关卡等 // TurnMax; // 最大轮次 // Len; // Msg; // 本场战斗扩展信息,一般为json格式,具体内容由MapID决定 // FactionCnt; // FactionList; // 阵营列表,通常固定只有两个阵营 List<TeamBase> redTeamList = new List<TeamBase>(); List<TeamBase> blueTeamList = new List<TeamBase>(); if (null != vNetData.FactionList) { foreach (var vFaction in vNetData.FactionList) { if (vFaction.Faction == 1) { foreach (var lineUp in vFaction.LineupList) { redTeamList.Add(new TeamBase(lineUp)); } } else if (vFaction.Faction == 2) { foreach (var lineUp in vFaction.LineupList) { blueTeamList.Add(new TeamBase(lineUp)); } } } } JsonData extendData = JsonMapper.ToObject(vNetData.Msg); string guid = BattleManager.Instance.GetGUID(vNetPack.packUID); BattleField battleField = BattleManager.Instance.CreateBattleField(guid, (int)vNetData.MapID, (int)vNetData.FuncLineID, extendData, redTeamList, blueTeamList); BattleStartAction battleStartAction = new BattleStartAction(battleField); battleField.recordPlayer.PlayRecord(battleStartAction); } } Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs
@@ -4,15 +4,8 @@ // B4 28 Buff刷新 #tagSCBuffRefresh public class DTCB428_tagSCBuffRefresh : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HB428_tagSCBuffRefresh vNetData = vNetPack as HB428_tagSCBuffRefresh; BattleField battleField = BattleManager.Instance.GetBattleField(vNetData.packUID); if (null != battleField) { battleField.OnRefreshBuff(vNetData); } } } Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB424_tagSCTurnFightInit.cs
@@ -63,13 +63,13 @@ public class tagSCTurnFightObj { public uint ObjID; // 战斗单位唯一ID public uint NPCID; // 战斗NPCID,不同的实例ID对应的NPCID可能一样 public uint HeroID; // 玩家武将ID,仅玩家阵容有 public uint SkinID; // 玩家武将皮肤ID,仅玩家阵容有 public uint HeroID; // 武将ID,玩家或NPC均可能有,如果有值则外观相关以该武将为准,否则以NPCID为准 public uint SkinID; // 武将皮肤ID,玩家或NPC均可能有,如果有值则皮肤以该值为准,否则取NPCID对应的皮肤ID public uint HP; // 当前血量,求余20亿部分 public uint HPEx; // 当前血量,整除20亿部分 public uint MaxHP; // 最大血量,求余20亿部分 public uint MaxHPEx; // 最大血量,整除20亿部分 public ushort LV; // 等级 public ushort LV; // 等级,玩家的武将等级或NPC成长等级,等级显示以该值为准 public byte PosNum; // 在本阵容中的站位,从1开始,非主战斗武将为0,如红颜 public ushort AngreXP; // 当前怒气值 } Main/Core/NetworkPackage/ServerPack/HB4_FightDefine/HB428_tagSCBuffRefresh.cs
@@ -14,6 +14,7 @@ public uint Value1; public uint Value2; public uint Value3; public byte IsAdd; // 是否是添加/覆盖的,1-是;0-否一般为buff的数据刷新 public HB428_tagSCBuffRefresh () { _cmd = (ushort)0xB428; @@ -30,6 +31,7 @@ TransBytes (out Value1, vBytes, NetDataType.DWORD); TransBytes (out Value2, vBytes, NetDataType.DWORD); TransBytes (out Value3, vBytes, NetDataType.DWORD); TransBytes (out IsAdd, vBytes, NetDataType.BYTE); } }