public void StartBattle(SCStartGame res)
        {
            BeforeStartGame(SyncMode.STEP_LOCK);
            CharacterBase mainPlayer = GameClient.Instance.MainPlayer;

            foreach (var p in res.Uins)
            {
                CharacterBase currentPlayer = null;
                currentPlayer = p == Uin ? mainPlayer : CharacterManager.Instance.GetNewCharacter();
                currentPlayer.ThisData.uin = p;

                currentPlayer.ChangeCharacter(1);
                currentPlayer.Init();
                _inputListeners.Add(currentPlayer.ThisData.uin, currentPlayer);
                currentPlayer.Position = Vector3.zero;
                TickerManager.Instance.AddTick(currentPlayer);
                TickerManager.Instance.AddFixedTick(currentPlayer);
            }
            AfterStartGame();
        }
 public override void DeSerialize(MemoryStream stream)
 {
     _data = SCStartGame.Parser.ParseFrom(stream);
 }