private ProcessParameters CreateProcessParameters()

in Samples~/SampleGame/Assets/Scripts/Server/GameLiftServer.cs [182:235]


    private ProcessParameters CreateProcessParameters()
    {
        var logParameters = new LogParameters();

        if (_logFilePath != null)
        {
            logParameters.LogPaths = new List<string> { _logFilePath };
        }

        return new ProcessParameters(
            onStartGameSession: gameSession =>
            {
                _logger.Write(":) GAMELIFT SESSION REQUESTED"); //And then do stuff with it maybe.
                try
                {
                    GenericOutcome outcome = GameLiftServerAPI.ActivateGameSession();

                    if (outcome.Success)
                    {
                        _logger.Write(":) GAME SESSION ACTIVATED");
                    }
                    else
                    {
                        _logger.Write(":( GAME SESSION ACTIVATION FAILED. ActivateGameSession() returned " +
                                      outcome.Error.ToString());
                    }
                }
                catch (Exception e)
                {
                    _logger.Write(":( GAME SESSION ACTIVATION FAILED. ActivateGameSession() exception " +
                                  Environment.NewLine + e.Message);
                }
            },
            onUpdateGameSession: session =>
            {
                _logger.Write(":) GAME SESSION UPDATED");
                _logger.Write(":) UPDATE REASON - " + session.UpdateReason);
                _logger.Write(":) GameSession: " + JsonUtility.ToJson(session.GameSession));
            },
            onProcessTerminate: () =>
            {
                _logger.Write(":| GAMELIFT PROCESS TERMINATION REQUESTED (OK BYE)");
                _gl.TerminateServer();
            },
            onHealthCheck: () =>
            {
                _logger.Write(":) GAMELIFT HEALTH CHECK REQUESTED (HEALTHY)");
                return true;
            },
            // tell the GameLift service which port to connect to this process on.
            // unless we manage this there can only be one process per server.
            _port,
            logParameters);
    }