Ejemplo n.º 1
0
    /// <summary>
    /// Sent by: server
    /// Received by: all clients
    /// Set player colors decided by the server
    /// </summary>
    /// <param name="evnt"></param>
    public override void OnEvent(SetColors evnt)
    {
        MemoryStream    ms = new MemoryStream();
        BinaryFormatter bf = new BinaryFormatter();

        ms.Write(evnt.BinaryData, 0, evnt.BinaryData.Length);
        ms.Seek(0, SeekOrigin.Begin);

        Debug.Log(evnt.BinaryData.Length);

        GameManager.PlayerColorsDatabase PlayerColors = (GameManager.PlayerColorsDatabase)bf.Deserialize(ms);

        GameManager.Instance.PlayerColors = PlayerColors;
    }
Ejemplo n.º 2
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);
    }