private void Initialized() { ClientA.ClientState = ProxyBase.ClientStates.Playing; ClientB.ClientState = ProxyBase.ClientStates.Playing; DebugLog.Print("StartGameSuccess! Between: " + ClientA.ClientID + " and " + ClientB.ClientID); SyncRandomNumber(); int PA_LIFE = ClientA.BuildInfo.Life; int PA_MAGIC = ClientA.BuildInfo.Energy; int PA_BEGINMETAL = ClientA.BuildInfo.BeginMetal; int PB_LIFE = ClientB.BuildInfo.Life; int PB_MAGIC = ClientB.BuildInfo.Energy; int PB_BEGINMETAL = ClientB.BuildInfo.BeginMetal; PlayerA = new BattlePlayer(ClientA.UserName, ClientA.ClientID, 0, PA_BEGINMETAL, PA_LIFE, PA_LIFE, 0, PA_MAGIC, this); PlayerA.CardDeckManager.CardDeck = new CardDeck(ClientA.BuildInfo, PlayerA.OnCardDeckLeftChange, PlayerA.CardDeckManager.OnUpdatePlayerCoolDownCard, PlayerA.CardDeckManager.OnRemovePlayerCoolDownCard); PlayerA.MyClientProxy = ClientA; PlayerB = new BattlePlayer(ClientB.UserName, ClientB.ClientID, 0, PB_BEGINMETAL, PB_LIFE, PB_LIFE, 0, PB_MAGIC, this); PlayerB.CardDeckManager.CardDeck = new CardDeck(ClientB.BuildInfo, PlayerB.OnCardDeckLeftChange, PlayerB.CardDeckManager.OnUpdatePlayerCoolDownCard, PlayerB.CardDeckManager.OnRemovePlayerCoolDownCard); PlayerB.MyClientProxy = ClientB; if (ClientB is BattleProxyAI battleProxyAI && battleProxyAI.Enemy != null) { PlayerB.BattleStatistics.Level = battleProxyAI.Enemy.DifficultyLevel; PlayerA.BattleStatistics.Level = battleProxyAI.Enemy.DifficultyLevel; } PlayerA.MyEnemyPlayer = PlayerB; PlayerB.MyEnemyPlayer = PlayerA; ClientA.InitGameInfo(); ClientB.InitGameInfo(); ClientA.CurrentClientRequestResponseBundle = new GameStart_ResponseBundle(); ClientB.CurrentClientRequestResponseBundle = new GameStart_ResponseBundle(); if (ClientB is BattleProxyAI ai && ai.Enemy != null && ai.Enemy.LevelID != -1 && !ai.IsCustomizeBattle) { StartFightingEnemyRequest request = new StartFightingEnemyRequest(ai.Enemy.LevelID); BroadcastRequest(request); } SetPlayerRequest request1 = new SetPlayerRequest(ClientA.UserName, ClientA.ClientID, 0, PA_BEGINMETAL, PA_LIFE, PA_LIFE, 0, PA_MAGIC); Broadcast_AddRequestToOperationResponse(request1); SetPlayerRequest request2 = new SetPlayerRequest(ClientA.UserName, ClientB.ClientID, 0, PB_BEGINMETAL, PB_LIFE, PB_LIFE, 0, PB_MAGIC); Broadcast_AddRequestToOperationResponse(request2); GameBegin(); Broadcast_SendOperationResponse(); //初始化的大包请求 }