コード例 #1
0
    public void ParseMessage(string[] messages)
    {
        switch (messages[0])
        {
        case "character":
            //they have selected a character
            GameObject options = GameObject.FindGameObjectWithTag("options");
            if (options)
            {
                CharacterSelect select    = options.GetComponent <CharacterSelect>();
                int             character = int.Parse(messages[1]);
                select.OtherPlayerSelected(character);
            }
            break;

        case "move":
            int       x = int.Parse(messages[1]), y = int.Parse(messages[2]);
            Direction direction = ParseDirection(messages[3]);

            try
            {
                _core.MakeNetworkMove(x, y, direction);
            }
            catch (Exception e)
            {
                Debug.Log(e.Message);
            }
            break;

        case "emote":
            //call "OtherEmote" on player2's emotecontroller
            EmoteController player2Emotes = GameObject.FindGameObjectWithTag("Player2")
                                            .GetComponent <EmoteController>();
            int emote = int.Parse(messages[1]);
            player2Emotes.OtherEmote(emote);
            break;

        case "checkconnection":
            Send("received");
            break;

        case "received":
            _waitingForResponse = false;
            break;

        case "hello":
            if (isClient)
            {
                client.responseReceived = true;
            }
            else
            {
                Send("hello");
            }
            break;
        }
    }
コード例 #2
0
    // Use this for initialization
    void Start()
    {
        Instance            = this;
        blackCam.enabled    = false;
        Camera.main.enabled = true;

        //starting timer
        // StartCoroutine("LoseTime");

        notationsToggleUI = GameObject.FindGameObjectWithTag("NotationsToggle");
        notationsToggle   = notationsToggleUI.GetComponent <Toggle>();

        log = GetComponent <MoveLog>();

        GameObject player1 = GameObject.FindGameObjectWithTag("Player1");

        player1emote = player1.GetComponent <EmoteController>();
        GameObject player2 = GameObject.FindGameObjectWithTag("Player2");

        player2emote = player2.GetComponent <EmoteController>();

        setPrefs();

        _core = new GameCore(whitePlayer, blackPlayer, boardTokens);

        if (whitePlayer == PlayerType.AI || blackPlayer == PlayerType.AI)
        {
            _core.SetDifficulty(_isHardMode);
        }

        _capturedPiece        = null;
        _foreignMoveCompleted = false;

        if (whitePlayer == PlayerType.Network || blackPlayer == PlayerType.Network)
        {
            netController = GameObject.FindGameObjectWithTag("network").GetComponent <NetworkControl>();
            netController.SetBoardManager(this);
            SetNetworkStuff();
        }

        if (whitePlayer != PlayerType.Local)
        {
            GetMove();
            AnimateAvatars(2);
        }
        else
        {
            AnimateAvatars(1);
        }

        //set the clip the effectSource uses
        //WILL NOT WORK IF DO NOT START AT MAIN MENU
        GameObject Audio = GameObject.FindGameObjectWithTag("Audio");

        effectSource = Audio.GetComponent <MusicInfo>().effectsSource.GetComponent <AudioSource>();

        timeoutPanel = GameObject.FindGameObjectWithTag("timeoutPanel");
        if (timeoutPanel)
        {
            timeoutPanel.SetActive(false);
        }
    }