MatchMakingGUIEvents 

    Namespace: SynicSugar.MatchMake
    Class: MatchMakeManager

    public MatchMakingGUIEvents MatchMakingGUIEvents

    Description 

    To manage GUI state in matchmaking. Invoke these on each phase.

    Can set some value on UnityEditor.
    To use TextMeshPro, set SYNICSUGAR_TMP to Scripting Define Symbols.

    Properity 

    APIdescription
    canKickTrue after meet required member counts
    stateTextUI Text or TMP_Text to display matchmaking state

    Event 

    APIdescription
    DisableStartInvoked when start matchmaking
    EnableCancelKickInvoked when join and create lobby
    EnableHostConcludeInvoked when filled in the minimum number of members
    DisableHostConcludeInvoked when members leave and condition is no longer met
    DisableCancelKickConcludeInvoked when complete or cancel matchmaking
    OnLobbyMemberCountChanged<UserId, bool>Invoked when the number of participants are changed

    For Text 

    APIdescription
    StartMatchmakingSearching or creating lobby
    WaitForOpponentsWaiting for others in Lobby
    FinishMatchmakingAfter finish matchmaking, start to exchange info for p2p
    ReadyForConnectionMatchMaking has completed and ready for p2p
    TryToCancelLeaving or destroying lobby
    StartReconnectionTry to join with SavedLobbyID
    using SynicSugar.MatchMake;
    
    public class MatchMakeConfig {
        public enum Langugage{
            EN, JA
        }
        public static MatchMakingGUIEvents SetMatchingText(Langugage langugage){
            MatchMakingGUIEvents descriptions = new();
            switch(langugage){
                case Langugage.JA:
                    descriptions.StartMatchmaking = "マッチングを検索中";
                    descriptions.WaitForOpponents = "対戦相手を探しています";
                    descriptions.FinishMatchmaking = "接続準備中・・・";
                    descriptions.ReadyForConnection = "接続準備完了";
                    descriptions.TryToCancel = "マッチングキャンセル中・・・";
                    descriptions.StartReconnection = "再接続しています";
                break;
                default:
                    descriptions.StartMatchmaking = "Searching for lobby.";
                    descriptions.WaitForOpponents = "Waiting for opponents...";
                    descriptions.FinishMatchmaking = "Preparetion for Connection";
                    descriptions.ReadyForConnection = "Finish Matchmaking";
                    descriptions.TryToCancel = "Try to Disconnect...";
                    descriptions.StartReconnection = "Try to reconnection...";
                break;
            }
            return descriptions;
        }
    }