Пример #1
0
        /// <summary>
        /// Initialise GameSparks with a given platform implementation.
        /// </summary>
        public void Initialise(IGSPlatform platform)
        {
            GSPlatform = platform;

            _paused = false;

            RetryBase                 = GS.RetryBase;
            RetryMax                  = GS.RetryMax;
            RequestTimeout            = GS.RequestTimeout;
            DurableConcurrentRequests = GS.DurableConcurrentRequests;
            DurableDrainInterval      = GS.DurableDrainInterval;
            HandshakeOffset           = GS.HandshakeOffset;

            InitialisePersistentQueue();

            DurableQueueRunning = true;

            _currentSocketUrl = BuildServiceUrl(GSPlatform);

            lock (_connections)
            {
                _connections.Add(new GSConnection(this, GSPlatform, _currentSocketUrl));
            }

            CalcNewReconnectionTimeout(1);

            InitAllTimers();
        }
Пример #2
0
        private static String BuildServiceUrl(IGSPlatform platform)
        {
#if DEBUG
            if (customUrlBase.Length <= 0)
#endif
            {
                String credential = platform.ApiCredential == null ? "device" : platform.ApiCredential;
                String apiDomain  = platform.ApiDomain == null ? "ws.gamesparks.net" : platform.ApiDomain;

                if (platform.ApiSecret.Contains(":"))
                {
                    credential = "secure";
                }

                return(String.Format(serviceUrlBase, platform.ApiStage, platform.ApiKey, credential, apiDomain));
            }
#if DEBUG
            else
            {
                return(String.Format(customUrlBase, platform.ApiKey));
            }
#endif
        }
Пример #3
0
        internal GSConnection(GSInstance gs, IGSPlatform gsPlatform, String currentUrl)
        {
            this._gs         = gs;
            this._gSPlatform = gsPlatform;
            url = currentUrl;

            mustConnectBy = DateTime.Now.AddMilliseconds(gs.HandshakeOffset).Ticks;

#if DEBUG
            if (GSInstance.customUrlBase.Length <= 0)
#endif
            {
                if (url.IndexOf('?') == -1)
                {
                    url += "?deviceOS=" + gsPlatform.DeviceOS;
                    url += "&deviceID=" + gsPlatform.DeviceId;
                    url += "&SDK=" + gsPlatform.SDK;
                }
            }

            _gSPlatform.DebugMsg("Connecting to:" + url);

            EnsureConnected();
        }
Пример #4
0
 /// <summary>
 /// Initialise GameSparks with a given platform implementation.
 /// </summary>
 public static void Initialise(IGSPlatform gSPlatform)
 {
     Instance.Initialise(gSPlatform);
 }