Ejemplo n.º 1
0
    public void OnReceiveData(string data)
    {
        BridgeDebugger.Log("[ Networking - OnReceiveData ] " + data);

        JObject json = JObject.Parse(data);
        int     api  = (int)json[NetworkConstants.KEY_API];

        int apiId = -1;

        if (json.Property(NetworkConstants.KEY_API_ID) != null)
        {
            apiId = (int)json[NetworkConstants.KEY_API_ID];
        }

        string sender = "";

        if (json.Property(NetworkConstants.KEY_SENDER) != null)
        {
            sender = (string)json[NetworkConstants.KEY_SENDER];
        }

        string playerId = "";

        if (json.Property(NetworkConstants.KEY_PLAYER_ID) != null)
        {
            playerId = (string)json[NetworkConstants.KEY_PLAYER_ID];
        }

        NetworkConstants.API eAPI = (NetworkConstants.API)(api);
        _results.Add(new NetworkResponse(eAPI, apiId, sender, playerId, data));
    }
Ejemplo n.º 2
0
 public NetworkResponse(NetworkConstants.API api, int apiId, string sender, string playerId, string data)
 {
     this.api      = api;
     this.data     = data;
     this.apiId    = apiId;
     this.sender   = sender;
     this.playerId = playerId;
 }
Ejemplo n.º 3
0
    public void OnAPISuccess(int api)
    {
        NetworkConstants.API eAPI = (NetworkConstants.API)api;
        BridgeDebugger.Log("[ ON API SUCCESS ] " + eAPI.ToString());

        switch (eAPI)
        {
        case NetworkConstants.API.HOST_DATA:
            EventManager.instance.Raise(new GameEvent(InGameEvent.DISPATCH_CARDS_DATA));
            break;

        case NetworkConstants.API.CARDS_DATA:
            if (isHost)
            {
                EventManager.instance.Raise(new GameEvent(InGameEvent.START_GAME));
            }
            break;
        }
    }
Ejemplo n.º 4
0
    private void ProcessData(NetworkResponse response)
    {
        NetworkConstants.API eAPI = response.api;
        BridgeDebugger.Log("[Networking - ProcessData ] " + eAPI.ToString());
        if (response.apiId > -1)
        {
            APIHandler.GetInstance().runningId = response.apiId;
        }
        switch (eAPI)
        {
        case NetworkConstants.API.GAME_CENTER_AUTH_SUCCESS:
        {
            GameEvent gEvent = new GameEvent(GameEvent.GC_AUTH_SUCCESS);
            EventManager.instance.Raise(gEvent);
            Acknowledge();
        }
        break;

        case NetworkConstants.API.GAME_CENTER_AUTH_FAILED:
        {
            GameEvent gEvent = new GameEvent(GameEvent.GC_AUTH_FAILED);
            EventManager.instance.Raise(gEvent);
            Acknowledge();
        }
        break;

        case NetworkConstants.API.MATCH_STARTED:
        {
            GameEvent gEvent = new GameEvent(GameEvent.MATCH_STARTED, response);
            JObject   json   = JObject.Parse(response.data);

            isHost = ((int)json[NetworkConstants.KEY_IS_HOST]) == 1 ? true : false;

            _players = JsonConvert.DeserializeAnonymousType <List <NetworkPlayer> >(json[NetworkConstants.KEY_PLAYERS].ToString(), _players);
            UpdatePlayersData();

            BridgeDebugger.Log("-------------PLAYERS-----------");
            foreach (var player in _players)
            {
                BridgeDebugger.Log(player.ToString());
            }
            BridgeDebugger.Log("-------------PLAYERS Ex-----------");
            foreach (var player in _playersExcludingThis)
            {
                BridgeDebugger.Log(player.ToString());
            }

            if (isHost)
            {
                hostId = string.Copy(_players[0].PlayerId);
            }
            localId = string.Copy(_players[0].PlayerId);

            BridgeDebugger.Log("[ Match Started ] - isHost " + isHost + " hostId " + hostId);
            EventManager.instance.Raise(gEvent);
            Acknowledge();
        }
        break;

        case NetworkConstants.API.HOST_DATA:
        {
            GameEvent gEvent = new GameEvent(GameEvent.HOST_DATA, response);

            //update host id
            JObject json = JObject.Parse(response.data);
            hostId = (string)json[NetworkConstants.KEY_SENDER];

            //acknowledge
            Acknowledge(response, true);

            EventManager.instance.Raise(gEvent);
        }
        break;

        case NetworkConstants.API.CARDS_DATA:
        {
            GameEvent gEvent = new GameEvent(GameEvent.UPDATE_CARDS_DATA, response);
            EventManager.instance.Raise(gEvent);
        }
        break;

        case NetworkConstants.API.ROUND_RESULT:
        {
            GameEvent gEvent = new GameEvent(GameEvent.ROUND_RESULT, response);
            EventManager.instance.Raise(gEvent);
        }
        break;
        }
    }