public void BattleStartHandler(NetConnection connection, object data) { PlayerInitDatas inits = GCli.Deserialize <PlayerInitDatas>((byte[])data); GCli.ClearPacketHandler(); room.SetActive(false); menu.SetActive(false); GCli.SetPacketHandler(MessageType.Snapshot, DataType.Bytes, SnapshotHandler); GCli.SetPacketHandler(MessageType.ReplyWon, DataType.Int32, ReplyWonHandler); GCli.SetPacketHandler(MessageType.BattleEnd, DataType.Null, BattleEndHandler); GCli.SetPacketHandler(MessageType.ReplySetBlock, DataType.Bytes, ReplySetBlockHandler); GCli.SetPacketHandler(MessageType.ReplyFire, DataType.Int32, ReplyFire); foreach (PlayerInitData init in inits.datas) { if (init.sync.userid == Players.userid) { World.SetCoreFaction(init.faction); Players.AddPlayer(init); } } foreach (PlayerInitData init in inits.datas) { if (init.sync.userid != Players.userid) { Players.AddOtherPlayer(init); } } }