internal static void Init()
        {
            GsSerializer.OnNewEventHandler     += OnNewEventHandler;
            GsSerializer.OnNewSnapShotReceived += OnNewSnapShotReceived;
            GsSerializer.CurrentPlayerLeftRoom += CurrentPlayerLeftRoom;
            GsSerializer.CurrentPlayerJoinRoom += CurrentPlayerJoinRoom;


            RealTimeEventHandlers.JoinedRoom += JoinedRoom;
            RealTimeEventHandlers.LeftRoom   += LeftRoom;
            RealTimeEventHandlers.RoomMembersDetailReceived += RoomMembersDetailReceived;


            _monoBehaviourHandler = new MonoBehaviourHandler();
            _prefabHandler        = new PrefabHandler();
            _functionHandler      = new FunctionHandler();
            _propertyHandler      = new PropertyHandler();
            _memberHandler        = new MemberHandler();


            _monoBehaviourHandler.Init();
            _memberHandler.Init();
            _propertyHandler.Init(_memberHandler);

            TypeUtil.Init();
            ObjectUtil.Init();
            IsAvailable = true;
        }