Ejemplo n.º 1
0
    /// <summary>
    /// start game session
    /// NOTE: ONLY CALLED FROM SERVER
    /// </summary>
    public void StartGame()
    {
        // decide player colors and send to all connected clients
        int count = 0;

        foreach (CredentialToken player in ServerManager.Instance.ConnectedUsers)
        {
            SerializedColor playerColor = new SerializedColor(possibleColors[count]);

            PlayerColors[player] = playerColor;

            count++;
        }

        BinaryFormatter bf = new BinaryFormatter();
        MemoryStream    ms = new MemoryStream();

        bf.Serialize(ms, PlayerColors);

        SetColors setColors = SetColors.Create(Bolt.GlobalTargets.Others);

        setColors.BinaryData = ms.ToArray();

        setColors.Send();

        // = SendConnectedClients.Create(connection);

        //sendClients.BinaryData = ms.ToArray();

        //sendClients.Send();

        SceneChangeToken token = new SceneChangeToken();

        token.Reason    = "StartGame";
        token.SceneTo   = MainGameScene;
        token.SceneFrom = Application.loadedLevelName;

        Debug.Log("Starting game from gamemanager...");

        //Instantiate(EndGameManagerPrefab);
        //Instantiate(GameTypeManagerPrefab);

        BoltNetwork.LoadScene("Game", token);
    }