Example #1
0
        public async void SendMatchRequest()
        {
            var             request  = NetRequest.CreateAndSend(BBClient.Instance.connection, new MatchMakingRequest(playerId, new MatchMakingSettings()));
            NetReceivedData response = await request.WaitForResponse();

            Log.D(response.data);
        }
Example #2
0
        public async Task <bool> TryAuthenticate(Credentials credentials)
        {
            if (isConnected == false)
            {
                return(false);
            }

            Log.Info(LogTag, $"Attempting to authenticate player. Username: {credentials.username}.");
            NetReceivedData response = await NetRequest.CreateAndSend(connection, credentials).WaitForResponse();

            if (response.data is AuthenticationResult authenticationResult)
            {
                if (authenticationResult.authenticationSuccessfull)
                {
                    authToken = authenticationResult.authToken;
                    playerId  = authenticationResult.playerId;

                    state = ClientState.Authenticated;

                    Log.Info(LogTag, "Authentication successfull.");
                    return(true);
                }
                else
                {
                    Log.Info(LogTag, "Authentication failed.");
                }
            }
            else
            {
                Log.Error(LogTag, "Authentication error: Unexpected response type.");
            }

            return(false);
        }
Example #3
0
 public void HandleBattleCommandStartActionPhase(NetReceivedData receivedData)
 {
     if (receivedData.data is BattleCommandStartActionPhase battleCommandStartActionPhase)
     {
         StartActionPhase();
         receivedData.SendResponse(true);
     }
 }
        public override bool IsValidFor(NetReceivedData receivedData)
        {
            if (receivedData.data is UnitOrder unitOrder)
            {
                return(unitOrder.battleId == battleId);
            }

            return(false);
        }
Example #5
0
        public void HandleUnitActionStop(NetReceivedData receivedData)
        {
            if (receivedData.data is UnitActionStop unitAction)
            {
                BattleUnit battleUnit = GetBattleUnit(unitAction.unitInstanceId);

                battleUnit.HandleUnitActionStop(unitAction);

                receivedData.SendResponse(true);
            }
        }
Example #6
0
        public async void HandleUnitActionDie(NetReceivedData receivedData)
        {
            if (receivedData.data is UnitActionDie unitAction)
            {
                BattleUnit battleUnit = GetBattleUnit(unitAction.unitInstanceId);

                await battleUnit.HandleUnitActionDie(unitAction);

                receivedData.SendResponse(true);
            }
        }
Example #7
0
        public async void HandleMatchMakingRequestDataEvent(NetReceivedData receivedData)
        {
            if (receivedData.data is MatchMakingRequest matchMakingRequest)
            {
                receivedData.requestHandled = true;

                PlayerData        playerData = BBServer.Instance.Systems.Database.GetPlayerDataById(matchMakingRequest.playerId);
                MatchMakingResult result     = await FindAMatch(playerData, matchMakingRequest.matchMakingSettings);

                Log.D(result);
                receivedData.SendResponse(result);
            }
        }
Example #8
0
        public void HandleBattleCommandStartPlanningPhase(NetReceivedData receivedData)
        {
            if (receivedData.data is BattleCommandStartPlanningPhase battleCommandStartPlanningPhase)
            {
                turnStartTime = DateTime.Now;
                turnEndTime   = DateTime.Now.AddMilliseconds(battleCommandStartPlanningPhase.phaseTime);

                CalculateCurrentTurnTimerValues();
                enableTimerDisplay.Value = true;

                StartPlanningPhase();
                receivedData.SendResponse(true);
            }
        }
Example #9
0
        public void HandleLoadBattleRequest(NetReceivedData receivedData)
        {
            LoadBattleRequestData loadBattleRequest = receivedData.data as LoadBattleRequestData;

            battleData = loadBattleRequest.battle;

            ClearSpawnedUnits();

            foreach (var unitInstanceData in battleData.unitsOnBoard)
            {
                SpawnUnitFor(unitInstanceData);
            }

            receivedData.SendResponse(true);
        }
Example #10
0
        public async void HandleUnitActionRetaliate(NetReceivedData receivedData)
        {
            if (receivedData.data is UnitActionRetaliate unitAction)
            {
                BattleUnit battleUnit = GetBattleUnit(unitAction.unitInstanceId);

                await battleUnit.HandleUnitActionRetaliate(unitAction);

                BattleUnit targetUnit = GetBattleUnit(unitAction.targetUnitInstanceId);
                targetUnit?.SetCount(unitAction.targetRemainingCount);
                targetUnit?.SetAttack(unitAction.targetRecalculatedAttack);

                receivedData.SendResponse(true);
            }
        }
Example #11
0
 public void HandleAuthenticationRequest(NetReceivedData receivedData)
 {
     if (receivedData.data is Credentials credentials)
     {
         if (TryAuthenticateClient(receivedData.connection, credentials, out BBConnectedClient connectedClient))
         {
             RemoveUnauthenticatedClient(connectedClient.NetworkingClient.Connection);
             AddConnectedClient(connectedClient);
             receivedData.SendResponse(new AuthenticationResult(true, connectedClient.AuthToken, connectedClient.PlayerData.id));
         }
         else
         {
             receivedData.SendResponse(new AuthenticationResult(false, null, null));
         }
     }
 }
Example #12
0
        public void HandleUnitOrderStop(NetReceivedData receivedData)
        {
            if (receivedData.data is UnitOrderStop unitOrder)
            {
                if (battlePhase == BattlePhase.PlanningPhase)
                {
                    var existingOrder = orders.Find(u => u.unitInstanceId == unitOrder.unitInstanceId);
                    if (existingOrder != null)
                    {
                        orders.Remove(existingOrder);
                    }

                    orders.Add(unitOrder);
                    receivedData.SendResponse(true);
                }
                else
                {
                    receivedData.SendResponse(false);
                }
            }
        }
Example #13
0
 public override bool IsValidFor(NetReceivedData receivedData)
 {
     return(filter1.IsValidFor(receivedData) || filter2.IsValidFor(receivedData));
 }
Example #14
0
 public abstract bool IsValidFor(NetReceivedData receivedData);