public void ProcessRequest(HttpContext context)
        {
            if (context.Request.QueryString["Uniques"] == null)
            {
                return;
            }

            context.Response.ContentType = "text/plain";
            context.Response.Cache.SetCacheability(HttpCacheability.Public);
            context.Response.BufferOutput = false;

            string[] items = context.Request.QueryString["Uniques"].Split(",".ToCharArray());

            for (int i = 0; i < items.Length; i++)
            {
                SingleManager.GetInstance().AddDownloader(items[i], context);
            }

            while (context.Response.IsClientConnected == true)
            {
                context.Response.Write("{\"Command\":\"Connected\"}" + Environment.NewLine);
                context.Response.Flush();

                Thread.Sleep(60000);
            }
        }
Example #2
0
        public override ParamGroup ExcCmd()
        {
            SingleManager <SnakeManager> .Get().CreateCmd <RotateCmd>(this, group.GetParam(CmdType.Rotate))?.Exc();

            SingleManager <SnakeManager> .Get().CreateCmd <MoveCmd>(this, group.GetParam(CmdType.Move))?.Exc();

            return(group);
        }
Example #3
0
        /// <summary>
        /// Handles the OnClick event of the Single control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void Single_OnClick(object sender, RoutedEventArgs e)
        {
            string        ip      = SettingsManager.ReadSetting(SettingName.IP);
            int           port    = int.Parse(SettingsManager.ReadSetting(SettingName.Port));
            SingleManager manager = new SingleManager(ip, port);

            manager.Start();
        }
    private SingleManager createManager(int groupId)
    {
        SingleManager manager = new SingleManager();

        manager.m_handlerPrefab = m_effectPrefab;

        m_groups.Add(groupId, manager);
        return(manager);
    }
Example #5
0
        public override ParamGroup ExcCmd()
        {
            ParamGroup param = cmdFlow.Dequeue();

            SingleManager <SnakeManager> .Get().CreateCmd <RotateCmd>(this, param.GetParam(CmdType.Rotate))?.Exc();

            SingleManager <SnakeManager> .Get().CreateCmd <MoveCmd>(this, param.GetParam(CmdType.Move))?.Exc();

            return(param);
        }
    public virtual void Awake()
    {
        if (_instance == null)
        {
            _instance = GetComponent <T>();

            SingleManager.RegisterSingle(_instance as ISingleHandler);

            Init();
        }
    }
Example #7
0
        public Entity Execute(string uniques, Entity entity, int second)
        {
            try
            {
                string[] items = uniques.Split(",".ToCharArray());

                for (int i = 0; i < items.Length; i++)
                {
                    SingleManager.GetInstance().AddCommand(items[i], entity);
                }

                DateTime start = DateTime.Now;

                while (true)
                {
                    Thread.Sleep(10);

                    if ((DateTime.Now - start).TotalMilliseconds >= 1000 * second)
                    {
                        throw new TimeoutException();
                    }

                    for (int i = 0; i < items.Length; i++)
                    {
                        Entity result = SingleManager.GetInstance().GetResult(items[i]);
                        if (result != null)
                        {
                            return(result);
                        }
                    }
                }
            }
            catch (TimeoutException)
            {
                return(Helper.GetEntity(false, "失败!请再试一次"));
            }
            catch (KeyNotFoundException)
            {
                return(Helper.GetEntity(false, "失败!网络已断开,请关闭系统并检查网络"));
            }
            catch (ConnectionLostException)
            {
                return(Helper.GetEntity(false, "失败!网络已断开,请关闭系统并检查网络"));
            }
            catch (Exception exception)
            {
                return(Helper.GetEntity(false, exception.Message));
            }
        }
Example #8
0
        public override RotateParam SubmitRotate()
        {
            RotateParam param = new RotateParam();

            if (_reached)
            {
                return(param);
            }

            param = SingleManager <ControllerManager> .Get().CalculateRotate(UID, _target);

            if (Mathf.Abs(param.rotSpeed) < 0.0001f)
            {
                _reached = true;
            }
            return(param);
        }
Example #9
0
        public void UpdateExc()
        {
            for (int i = 0; i < controllers.Length; i++)
            {
                if (controllers[i] == null)
                {
                    continue;
                }

                Snaker snake = SingleManager <SnakeManager> .Get().GetSnake(controllers[i].UID);

                if (snake != null)
                {
                    Inject(snake.RotateControl, controllers[i].Rotate);
                }
            }
        }
    private void playSoundEffectImpl(AudioClip clip, int groupId)
    {
        if (!clip)
        {
            return;
        }

        SingleManager manager = null;

        if (m_groups.ContainsKey(groupId))
        {
            manager = m_groups[groupId];
        }
        else
        {
            manager = createManager(groupId);
        }

        // How many effects can be played at once
        int maxActive = m_maxAmountEffects;

        if (m_restartActiveEffects)
        {
            maxActive = 1;
        }
        else
        {
            maxActive = Mathf.Max(1, maxActive);
        }

        // Volume of the clip
        float volume = 1f;

        if (m_volumeManager)
        {
            volume = m_volumeManager.GetSFXVolume();
        }

        bool startMuted = groupId != m_activeGroup;

        manager.playInstance(clip, maxActive, volume, startMuted);
    }
Example #11
0
        public RotateParam CalculateRotate(int uid, Vector3 target)
        {
            Snaker snake = SingleManager <SnakeManager> .Get().GetSnake(uid);

            RotateParam param = new RotateParam();

            if (snake != null)
            {
                float angle = Vector3.SignedAngle(snake.Direction, target - snake.GetPosition(), Vector3.up);
                if (angle > 0)
                {
                    param.rotSpeed = Mathf.Min(angle, snake.RotateSpeed);
                }
                else
                {
                    param.rotSpeed = Mathf.Max(angle, -snake.RotateSpeed);
                }
            }

            return(param);
        }
            public override void ReceivedResponse(SKProductsRequest request, SKProductsResponse response)
            {
                if (SingleManager.productsRequest == request)
                {
                    SingleManager.productsRequest = null;
                }

                var changed = false;

                foreach (var product in response.Products)
                {
                    ProductDetails details;
                    if (SingleManager.products.TryGetValue(product.ProductIdentifier, out details))
                    {
                        details.SetDetails(product);
                        changed = true;
                    }
                }

                foreach (var product in response.InvalidProducts)
                {
                    ProductDetails details;
                    if (SingleManager.products.TryGetValue(product, out details))
                    {
                        details.SetInvalid();
                        changed = true;
                    }
                }

                // Check that all products have details - if not reload
                SingleManager.RequestProductDetails();

                if (changed)
                {
                    SingleManager.RaiseDetailsChanged();
                }
            }
Example #13
0
 //清理所有
 public void clean()
 {
     _Instance = null;
     GC.Collect();
 }
            public override void UpdatedTransactions(SKPaymentQueue queue, SKPaymentTransaction[] transactions)
            {
                var purchaseChanged = false;

                foreach (var transaction in transactions)
                {
                    switch (transaction.TransactionState)
                    {
                    case SKPaymentTransactionState.Purchased:
                    {
                        ProductDetails details;
                        if (SingleManager.products.TryGetValue(transaction.Payment.ProductIdentifier, out details))
                        {
                            purchaseChanged = true;
                            details.SetPurchased();
                        }

                        SingleManager.PaymentQueue.FinishTransaction(transaction);
                        break;
                    }

                    case SKPaymentTransactionState.Restored:
                    {
                        ProductDetails details;
                        if (SingleManager.products.TryGetValue(transaction.OriginalTransaction.Payment.ProductIdentifier, out details))
                        {
                            purchaseChanged = true;
                            details.SetPurchased();
                        }

                        SingleManager.PaymentQueue.FinishTransaction(transaction);
                        break;
                    }

                    case SKPaymentTransactionState.Failed:
                    {
                        ProductDetails details;
                        if (SingleManager.products.TryGetValue(transaction.Payment.ProductIdentifier, out details))
                        {
                            purchaseChanged = true;
                            details.SetFailed();
                        }

                        if ((SKError)transaction.Error.Code != SKError.PaymentCancelled)
                        {
                            SingleManager.RaiseTransactionFailed(transaction.Error);
                        }

                        SingleManager.PaymentQueue.FinishTransaction(transaction);
                        break;
                    }

                    case SKPaymentTransactionState.Purchasing:
                    {
                        ProductDetails details;
                        if (SingleManager.products.TryGetValue(transaction.Payment.ProductIdentifier, out details))
                        {
                            purchaseChanged = true;
                            details.SetPurchasing();
                        }

                        break;
                    }
                    }
                }

                if (purchaseChanged)
                {
                    SingleManager.RaiseDetailsChanged();
                }
            }
 public override void RequestFailed(SKRequest request, NSError error)
 {
     // Retry the load - most likley case is no network
     SingleManager.RequestProductDetails();
 }
Example #16
0
 public void Update(string unique, Entity entity)
 {
     SingleManager.GetInstance().Update(unique, entity);
 }