//--- Constructors ---//
    public Call_Group(int _numParticipants, float _waitTimeMax, float _callTimeMax)
    {
        // Init the event
        m_OnCallCompleted = new Call_CompletionEvent();

        // Init the private data
        m_callParticipants  = new List <Call_Individual>();
        m_callState         = Call_State.Waiting;
        m_numParticipants   = _numParticipants;
        m_waitTimeMax       = _waitTimeMax;
        m_waitTimeRemaining = m_waitTimeMax;
        m_callTimeMax       = _callTimeMax;
        m_callTimeRemaining = m_callTimeMax;

        // Create the call participants and keep track of them
        for (int i = 0; i < m_numParticipants; i++)
        {
            m_callParticipants.Add(new Call_Individual());
        }
    }
    //--- Constructors ---//
    public Call_Group(int _numParticipants, float _waitTimeMax, float _callTimeMax)
    {
        // Init the event
        m_OnCallCompleted = new Call_CompletionEvent();

        // Init the private data
        m_roomManager       = GameObject.FindObjectOfType <Room_Manager>();
        m_callParticipants  = new List <Call_Individual>();
        m_callState         = Call_State.Waiting;
        m_numParticipants   = _numParticipants;
        m_waitTimeMax       = _waitTimeMax;
        m_waitTimeRemaining = m_waitTimeMax;
        m_callTimeMax       = _callTimeMax;
        m_callTimeRemaining = m_callTimeMax;
        m_isInBindMode      = false;
        m_shouldCheckState  = true;

        // Create the call participants and keep track of them
        for (int i = 0; i < m_numParticipants; i++)
        {
            m_callParticipants.Add(new Call_Individual());
        }
    }