Exemplo n.º 1
0
    private void OnSetPlayer_PrePass(ServerRequestBase r)
    {
        SetPlayerRequest request = (SetPlayerRequest)r;

        NetworkManager.Instance.SuccessMatched();
        InitializePlayers(request);
    }
Exemplo n.º 2
0
        // Setters below
        public void SetPlayer(Player player)
        {
            var request = new SetPlayerRequest
            {
                Player = player
            };

            SendRequest <SetPlayerRequest, SetPlayerResponse>(RequestType.SetPlayer, request);
        }
Exemplo n.º 3
0
    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(); //初始化的大包请求
    }
Exemplo n.º 4
0
    private void InitializePlayers(SetPlayerRequest r)
    {
        if (r.clientId == Client.Instance.Proxy.ClientID)
        {
            SelfClientPlayer          = new ClientPlayer(r.username, r.metalLeft, r.metalMax, r.lifeLeft, r.lifeMax, r.energyLeft, r.energyMax, Players.Self);
            SelfClientPlayer.ClientId = r.clientId;
            BattleManager.Instance.SelfBattlePlayer = SelfClientPlayer.BattlePlayer;
            SelfClientPlayer.BattlePlayer.MetalLifeEnergyManager.SetEnemyIconImage();
        }
        else
        {
            EnemyClientPlayer          = new ClientPlayer(r.username, r.metalLeft, r.metalMax, r.lifeLeft, r.lifeMax, r.energyLeft, r.energyMax, Players.Enemy);
            EnemyClientPlayer.ClientId = r.clientId;
            BattleManager.Instance.EnemyBattlePlayer = EnemyClientPlayer.BattlePlayer;
            EnemyClientPlayer.BattlePlayer.MetalLifeEnergyManager.SetEnemyIconImage();
        }

        if (SelfClientPlayer != null && EnemyClientPlayer != null)
        {
            Preparation();
        }
    }