示例#1
0
        void InitGPGS()
        {
            //находим NetworkManager
            gpgs = GPGS.Instance;
            gpgs.LoginUpdateEvent += LoadGameCloud;                         // проверяет сохранения в облаке
            gpgs.AllParticipantsConfirmedEvent += StartMultiplayer;
            gpgs.PlayByInvitationEvent         += RegisteringInviteFriends; //регестрируем приглашение в игру
            gpgs.DisconectEvent       += DisconectGame;
            gpgs.GameResultEvent      += MultiplayerGameCompleted;
            gpgs.AcceptFromInboxEvent += () => { SetGameMode(GameMode.MULTIPLAYER); };             //событие от принимающего игру

            MpSetMode(MpGameMode.QUIK_GAME);
        }
        public event Action PlayByInvitationEvent;    //игра по приглашению

        #endregion


        #region Init

        void Awake()
        {
            if (Instance == null)
            {
                Instance = this;
            }

            dataMultiplayer = Resources.Load <DataMultiplayerGame>("Data/DataMultiplayerGame");
            MultiplayerInfo = new MultiplayerInfo();

            SetState(MultiplayerState.PREPARATION); //задаем состояние

            InitializeServices();                   //регестрация сервисов
        }
        public static void AcceptInvitation(string invitationId)
        {
            var sInstance = new GPGS();

            PlayGamesPlatform.Instance.RealTime.AcceptInvitation(invitationId, sInstance);
        }