diff --git a/F6/MsgHandler.cs b/F6/MsgHandler.cs index 687fcf2..bce0e5c 100644 --- a/F6/MsgHandler.cs +++ b/F6/MsgHandler.cs @@ -84,7 +84,7 @@ namespace F6 if (this.handlerHash.TryGetValue(msgId, out handler)) { var msg = handler.createMsg(); - msg.Descriptor.Parser.ParseFrom(data, offset, length); + msg = msg.Descriptor.Parser.ParseFrom(data, offset, length); foreach (var h in handler.handlers) { h(msg); diff --git a/Managers/Battle.cs b/Managers/Battle.cs index 57a42ce..3d40b94 100644 --- a/Managers/Battle.cs +++ b/Managers/Battle.cs @@ -5,11 +5,16 @@ using System.Text; using System.Threading.Tasks; using Google.Protobuf; using UnityEngine; +using LuaFramework; class Battle { private JoinInfo joinInfo; private Net.ClientNet conn; + private int netMapId = 0; + private int netMyselfUniId = 0; + private string netRoomUuid; + private Mt.Map mapMeta; public Battle(JoinInfo joinInfo) { @@ -29,8 +34,55 @@ class Battle this.conn.Open(); this.conn.msgHandler.RegisterHandler((battle.cs.SMJoinedNotify msg) => { - int i = 0; }); + this.conn.msgHandler.RegisterHandler((battle.cs.SMMapInfo msg) => + { + this.SMMapInfo(msg); + }); + this.conn.msgHandler.RegisterHandler((battle.cs.SMUpdate msg) => + { + this.SMUpdate(msg); + }); + } + + private void SMMapInfo(battle.cs.SMMapInfo msg) + { + this.netMapId = msg.MapId; + this.netMyselfUniId = msg.PlayerId; + this.netRoomUuid = msg.RoomUuid; + + this.mapMeta = Mt.Table.Map.GetById(this.netMapId); + GameObject fightRootObject = new GameObject("fight"); + { + fightRootObject.transform.parent = LuaHelper.GetGameManager().m_pGameMap.transform; + fightRootObject.layer = CUtil.WorldMapLayer_0_31; + } + GameObject mapObj = new GameObject("map"); + { + mapObj.transform.parent = fightRootObject.transform; + mapObj.layer = CUtil.WorldMapLayer_0_31; + TransformExtension.localPosition(mapObj.transform, 0, 0, 0); + TransformExtension.localScale(mapObj.transform, 1, 1, 1); + } + var mapBase = LuaHelper.GetResManager().LoadPrefab(this.mapMeta.asset_name, "Data/model/mapterrain/", "model/mapterrain"); + var t = CUtil.AddChild(mapObj, mapBase, true); + { + TransformExtension.localEulerAngles(t.transform, 0, 0, 0); + TransformExtension.localPosition(t.transform, 0, 0, 0); + } + { + var terrainName = "l_" + this.mapMeta.asset_name; + var terrainObj = LuaHelper.GetResManager().LoadPrefab( + terrainName, "Data/model/mapterrain/", "model/mapterrain"); + CUtil.AddChild(t, terrainObj, true); + TransformExtension.localEulerAngles(terrainObj.transform, 0, 0, 0); + TransformExtension.localPosition(terrainObj.transform, 0, 0, 0); + } + } + + private void SMUpdate(battle.cs.SMUpdate msg) + { + } } diff --git a/Managers/BattleMgr.cs b/Managers/BattleMgr.cs index f5e4d29..a97ecc2 100644 --- a/Managers/BattleMgr.cs +++ b/Managers/BattleMgr.cs @@ -14,35 +14,7 @@ public class BattleMgr //CUILoading.OpenLoading(); //CUILoading.SetLoading(0); Mt.Table.Load(); - GameObject fightRootObject = new GameObject("fight"); - { - fightRootObject.transform.parent = LuaHelper.GetGameManager().m_pGameMap.transform; - fightRootObject.layer = CUtil.WorldMapLayer_0_31; - } - GameObject mapObj = new GameObject("map"); - { - mapObj.transform.parent = fightRootObject.transform; - mapObj.layer = CUtil.WorldMapLayer_0_31; - TransformExtension.localPosition(mapObj.transform, 0, 0, 0); - TransformExtension.localScale(mapObj.transform, 1, 1, 1); - } - var mapBase = LuaHelper.GetResManager().LoadPrefab("map16", "Data/model/mapterrain/", "model/mapterrain"); - var t = CUtil.AddChild(mapObj, mapBase, true); - { - TransformExtension.localEulerAngles(t.transform, 0, 0, 0); - TransformExtension.localPosition(t.transform, 0, 0, 0); - } - { - var terrainName = "l_" + "map16"; - var terrainObj = LuaHelper.GetResManager().LoadPrefab( - terrainName, "Data/model/mapterrain/", "model/mapterrain"); - CUtil.AddChild(t, terrainObj, true); - TransformExtension.localEulerAngles(terrainObj.transform, 0, 0, 0); - TransformExtension.localPosition(terrainObj.transform, 0, 0, 0); - } - { - var b = new Battle(join_info); - } + var b = new Battle(join_info); } } diff --git a/Objects/Actor.cs b/Objects/Actor.cs new file mode 100644 index 0000000..70ed219 --- /dev/null +++ b/Objects/Actor.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace cfclient.Objects +{ + class Actor : WorldObject + { + } + +} diff --git a/Objects/Car.cs b/Objects/Car.cs new file mode 100644 index 0000000..30d5b2e --- /dev/null +++ b/Objects/Car.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace cfclient.Objects +{ + class Car : Actor + { + } +} diff --git a/Objects/Player.cs b/Objects/Player.cs new file mode 100644 index 0000000..84cf506 --- /dev/null +++ b/Objects/Player.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace cfclient.Objects +{ + class Player : Actor + { + } +} diff --git a/Objects/WorldObject.cs b/Objects/WorldObject.cs new file mode 100644 index 0000000..e4df4e9 --- /dev/null +++ b/Objects/WorldObject.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace cfclient.Objects +{ + class WorldObject + { + private int uniid; + private Vector3 serverPos = new Vector3(); + private GameObject gameObject; + } +}