示例#1
0
    /// <summary>
    /// Called when the game is ready to start. Can be used to setup the initial game state
    /// </summary>
    /// <param name="message"></param>
    void OnChallengeStarted(ChallengeStartedMessage message)
    {
        IsChallengeActive = true;
        _challengeId      = message.Challenge.ChallengeId;
        OPlayerName       = message.Challenge.Challenger.Name;
        OPlayerId         = message.Challenge.Challenger.Id;
        XPlayerName       = message.Challenge.Challenged.First().Name;
        XPlayerId         = message.Challenge.Challenged.First().Id;
        CurrentPlayerId   = message.Challenge.NextPlayer == OPlayerId ? OPlayerId: XPlayerId;


        string chosenPlayerId    = message.Challenge.ScriptData.GetString("chosenPlayerId");  //a player is randomly chosen to make the first move
        string chosenPlayerBlock = message.Challenge.ScriptData.GetString("chosenBlockType"); //the block type (X,O) of the chosen player is randomly set

        if (chosenPlayerId == UIManager.Instance.LocalPlayerId)
        {
            LocalSlotType = SlotStateFromString(chosenPlayerBlock);
        }
        else
        {
            SlotState chosenBlockState = SlotStateFromString(chosenPlayerBlock);
            LocalSlotType = chosenBlockState == SlotState.O ? SlotState.X : SlotState.O;
        }
        OnChallengeStartedEvent.Invoke();
    }
示例#2
0
    public void GetMessagesChallengeStarted(ChallengeStartedMessage message)
    {
        Debug.Log("challenge started message");


        log.text  = "Challenge started";
        turn.text = "Opponent Turn";

        //Debug.Log("The challenge Started :"+message.JSONString);

        GSData challengeData = message.BaseData.GetGSData("challenge");

        List <GSData> acceptedPlayerList = challengeData.GetGSDataList("accepted");

        challengeId = challengeData.GetString("challengeId");
        Debug.Log("challenge Id is : " + challengeId);
        Debug.Log("lalalalalalalal : " + challengeId);
        foreach (GSData entry in acceptedPlayerList)
        {
            string localPlayerName = entry.GetString("name").ToString();
            string localPlayerId   = entry.GetString("id").ToString();

            if (localPlayerId != playerIdString)
            {
                opponentName.text  = localPlayerName;
                opponentIdString   = localPlayerId;
                opponentNameString = localPlayerName;

                Debug.Log("OpponentName : " + opponentNameString);
                Debug.Log("OpponentId : " + opponentIdString);
            }
        }
    }
示例#3
0
    private void OnChallengeStarted(ChallengeStartedMessage message)
    {
        Debug.Log("OnChallengeStarted");
        isChallengeActive = true;
        // more work todo in chessinput etc.
        // Show animation maybe same as AIRoom
        // get turn variable from challenge message
        if (message.Challenge.NextPlayer == AuthenticationManager
            .Instance.GetPlayerId())
        {
            isWhite  = true;
            isMyTurn = true;
            Debug.Log("I am white and it is my turn");
        }
        else
        {
            isWhite  = false;
            isMyTurn = false;
            Debug.Log("I am black and it is not my turn");
        }
        ChallengeStartedEvent.Invoke();
        // accordingly rotate chess board and display UI that you are white black
        // OR move camera's transform to opposite position

        //**** make chessinput(OR piece layer) active according to turn too


        // Once right player took a move:-
        // Call Move function of this script from line 50 of HumanPlayerGround
        // Update turn variable also in Move function
        // also add game ending code in exit buttonclickedevent
    }
示例#4
0
 public void clickDebug()
 {
     //var data = new GameSparks.Core.GSData();
     //var obj = new ChallengeStartedMessage(data);
     ChallengeStartedMessage.Listener(null);
     Debug.Log("challenge methods: " + ChallengeStartedMessage.Listener.Method);
 }
示例#5
0
    void OnChallengeStarted(ChallengeStartedMessage message)
    {
        Debug.Log("ChallengeStarted");
        IsChallengeActive = true;
        ChallengeID       = message.Challenge.ChallengeId;

        Debug.Log("ChallengeID: " + ChallengeID);

        eventManager.InvokeChallengeStarted();
    }
示例#6
0
    private void OnChallengeStarted(ChallengeStartedMessage message)
    {
        UnblockInput();
        Debug.Log("Challenge Started");
        // Switch to GameBoard Scene connected to opponent
        //SceneManager.LoadScene("GameBoard");
        GameObject.Find("LevelChanger").GetComponent <LevelChanger>().FadeToLevel("GameBoard");
        EventManager eventManager = GameObject.Find("EventManger").GetComponent <EventManager>();

        eventManager.InvokeNewGame();
    }
示例#7
0
        //public FactionNames[] PlayerUnits { get; private set; }

        private void OnChallengeStarted(ChallengeStartedMessage message)
        {
            IsMatchActive       = true;
            _matchID            = message.Challenge.ChallengeId;
            Faction01PlayerName = message.Challenge.Challenger.Name;
            Faction01PlayerId   = message.Challenge.Challenger.Id;
            Faction02PlayerName = message.Challenge.Challenged.First().Name;
            Faction02PlayerId   = message.Challenge.Challenged.First().Id;
            CurrentPlayerName   = message.Challenge.NextPlayer == Faction01PlayerId ? Faction01PlayerName : Faction02PlayerName;
            //PlayerUnits = message.Challenge.ScriptData.GetIntList("PlayerUnits").Cast<PieceType>
            MatchStarted.Invoke();
        }
示例#8
0
 private void OnChallengeStarted(ChallengeStartedMessage message)
 {
     IsChallengeActive = true;
     challengeID       = message.Challenge.ChallengeId;
     HeartsPlayerName  = message.Challenge.Challenger.Name;
     HeartsPlayerId    = message.Challenge.Challenger.Id;
     SkullsPlayerName  = message.Challenge.Challenged.First().Name;
     SkullsPlayerId    = message.Challenge.Challenged.First().Id;
     CurrentPlayerName = message.Challenge.NextPlayer == HeartsPlayerId ? HeartsPlayerName : SkullsPlayerName;
     Fields            = message.Challenge.ScriptData.GetIntList("fields").Cast <PieceType>().ToArray();
     ChallengeStarted.Invoke();
 }
    private void OnChallengeStarted(ChallengeStartedMessage message)
    {
        UnblockMatchInput();
        HostedGameLobbies hostedGameLobbiesScript = GameObject.Find("HostedGameLobbies").GetComponent <HostedGameLobbies>();

        hostedGameLobbiesScript.RemoveRefreshHostedGamesListener();

        Debug.Log("Challenge Started");
        // Switch to GameBoard Scene connected to opponent
        // SceneManager.LoadScene("GameBoard");
        if (chatWindowPanel == null)
        {
            //chatWindowPanel = GameObject.Find("ChatWindowPanel");
            var objectsChatWindow = Resources.FindObjectsOfTypeAll(typeof(ChatWindowPanel));
            var objectsEnumer     = objectsChatWindow.GetEnumerator();
            objectsEnumer.MoveNext();
            var gameObjectChat = (ChatWindowPanel)objectsEnumer.Current;
            chatWindowPanel = gameObjectChat.gameObject;
        }
        //chatWindowPanel.GetComponent<ChatWindowPanel>().ClearAllFriendsChats();
        GameObject.Find("LevelChanger").GetComponent <LevelChanger>().FadeToLevel("GameBoard");
    }
示例#10
0
 public void onChallengeStarted(ChallengeStartedMessage startedMessage)
 {
     addToConsole("---challenge started at: " + startedMessage.startedDate);
 }
示例#11
0
 void OnChallengeStarted(ChallengeStartedMessage message)
 {
     UnblockInput();
     panelFindMatch.SetActive(false);
     _textError.gameObject.SetActive(false);
 }
示例#12
0
 private void OnChallengeStarted(ChallengeStartedMessage obj)
 {
     LoadingManager.Instance.LoadNextScene();
     Debug.Log("challenge started: " + obj.JSONString);
 }
示例#13
0
 private void OnChallengeStarted(ChallengeStartedMessage message)
 {
     //LoadingManager.Instance.LoadNextScene();
     this.gameObject.SetActive(false);
 }
示例#14
0
    private void OnMessageReceived(object sender, MessageEventArgs e)
    {
        string message = e.Data;

        UnityThreadHelper.Dispatcher.Dispatch(() => {
            if (message.Equals(""))
            {
                Debug.Log("--empty web socket message");
                return;
            }
            if (message.Length == 1)
            {
                Debug.Log("--received empty message");
                return;
            }
            if (message.Length == 2)
            {
                Debug.Log("--received server dc message");
            }

            String[] splitText = message.Replace("\n\n", "\r").Split("\r".ToCharArray());
            String[] headers   = splitText[0].Split("\n".ToCharArray());

            if (headers[0].Equals("CONNECTED"))
            {
                for (int i = 0; i < headers.Length; i++)
                {
                    if (headers[i].StartsWith("heart-beat"))
                    {
                        String heartBeat = headers[i].Split(":".ToCharArray())[1];
                        stompWebsocketHandler.heartBeatPeriod = Int32.Parse(heartBeat.Split(",".ToCharArray())[1]);
                        if (stompWebsocketHandler.heartBeatPeriod != 0)
                        {
                            stompWebsocketHandler.CheckAlive();
                        }
                        Debug.Log("realtime heart: " + stompWebsocketHandler.heartBeatPeriod);
                    }
                    else if (headers[i].StartsWith("user-id"))
                    {
                        String userId = headers[i].Split(":".ToCharArray())[1];
                        OnConnected(userId);
                    }
                }
                return;
            }
            else if (headers.Length == 3 && headers[0].Equals("ERROR"))
            {
                Debug.Log("--ERROR: " + headers[1] + " " + headers[2]);
                return;
            }
            else if (splitText.Length == 1)
            {
                Debug.Log("--unknown at realtime: " + message);
                return;
            }
            String body    = splitText[1];
            String command = headers[0];
            if (command.Equals("MESSAGE"))
            {
                body = body.Substring(0, body.Length - 1);
                BacktoryRealtimeMessage backtoryRealtimeMessage = (BacktoryRealtimeMessage)
                                                                  fastJSON.JSON.ToObject(body, typeof(BacktoryRealtimeMessage));
                String _class = backtoryRealtimeMessage._type;
                if (_class == null)
                {
                    Debug.Log(message);
                    OnMessage(message);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.EXCEPTION))
                {
                    Debug.Log(BacktoryConnectivityMessage.EXCEPTION);
                    OnException(body);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.DIRECT))
                {
                    Debug.Log(BacktoryRealtimeMessage.DIRECT);
                    DirectChatMessage directMessage = (DirectChatMessage)
                                                      fastJSON.JSON.ToObject(body, typeof(DirectChatMessage));
                    OnDirectChatMessage(directMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHALLENGE))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHALLENGE);
                    ChallengeEventMessage challengeMessage = (ChallengeEventMessage)
                                                             fastJSON.JSON.ToObject(body, typeof(ChallengeEventMessage));
                    OnChallengeEventMessage(challengeMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHAT))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHAT);
                    ChallengeChatMessage chatMessage = (ChallengeChatMessage)
                                                       fastJSON.JSON.ToObject(body, typeof(ChallengeChatMessage));
                    OnChallengeChatMessage(chatMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHALLENGE_JOINED))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHALLENGE_JOINED);
                    ChallengeJoinedMessage challengeMessage = (ChallengeJoinedMessage)
                                                              fastJSON.JSON.ToObject(body, typeof(ChallengeJoinedMessage));
                    OnChallengeJoined(challengeMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.RESPONSE_RECEIVED))
                {
                    Debug.Log(BacktoryRealtimeMessage.RESPONSE_RECEIVED);
                    BacktoryRealtimeMessage responseMessage = (BacktoryRealtimeMessage)
                                                              fastJSON.JSON.ToObject(body, typeof(BacktoryRealtimeMessage));
                    OnResultReceived(responseMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.MASTER))
                {
                    Debug.Log(BacktoryRealtimeMessage.MASTER);
                    MasterMessage masterMessage = (MasterMessage)
                                                  fastJSON.JSON.ToObject(body, typeof(MasterMessage));
                    OnMasterMessage(masterMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.JOINED_WEBHOOK))
                {
                    Debug.Log(BacktoryRealtimeMessage.JOINED_WEBHOOK);
                    JoinedWebhookMessage joindMessage = (JoinedWebhookMessage)
                                                        fastJSON.JSON.ToObject(body, typeof(JoinedWebhookMessage));
                    OnJoinedWebhookMessage(joindMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHALLENGE_ENDED))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHALLENGE_ENDED);
                    ChallengeEndedMessage challengeMessage = (ChallengeEndedMessage)
                                                             fastJSON.JSON.ToObject(body, typeof(ChallengeEndedMessage));
                    OnChallengeEndedMessage(challengeMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHALLENGE_DISCONNECT))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHALLENGE_DISCONNECT);
                    ChallengeDisconnectMessage challengeMessage = (ChallengeDisconnectMessage)
                                                                  fastJSON.JSON.ToObject(body, typeof(ChallengeDisconnectMessage));
                    OnChallengeDisconnectMessage(challengeMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.WEBHOOK_ERROR))
                {
                    Debug.Log(BacktoryRealtimeMessage.WEBHOOK_ERROR);
                    WebhookErrorMessage webhookMessage = (WebhookErrorMessage)
                                                         fastJSON.JSON.ToObject(body, typeof(WebhookErrorMessage));
                    OnWebhookErrorMessage(webhookMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.CHALLENGE_STARTED))
                {
                    Debug.Log(BacktoryRealtimeMessage.CHALLENGE_STARTED);
                    ChallengeStartedMessage challengeMessage = (ChallengeStartedMessage)
                                                               fastJSON.JSON.ToObject(body, typeof(ChallengeStartedMessage));
                    OnChallengeStarted(challengeMessage);
                }
                else if (_class.Equals(BacktoryRealtimeMessage.STARTED_WEBHOOK))
                {
                    Debug.Log(BacktoryRealtimeMessage.STARTED_WEBHOOK);
                    StartedWebhookMessage startedMessage = (StartedWebhookMessage)
                                                           fastJSON.JSON.ToObject(body, typeof(StartedWebhookMessage));
                    OnStartedWebhookMessage(startedMessage);
                }
                else
                {
                    Debug.Log("--received message: " + body);
                    OnMessage(body);
                }
            }
            else
            {
                Debug.Log("--received message: " + body);
            }
        });
    }