Exemple #1
0
 private void AddToDeckFromPool(Card card, Transform target, bool isMain)
 {
     if (waitToUseList.Count == 0)
     {
         GameObject obj      = ComMethod.InitGameObject(cardPrefeb, target);
         Card_Edit  editCard = obj.GetComponent <Card_Edit>();
         editCard.Init();
         editCard.SetTexture(card.cardID, true);
         if (isMain)
         {
             mainDeckList.Add(obj);
         }
         else
         {
             extraDeckList.Add(obj);
         }
     }
     else
     {
         GameObject obj = waitToUseList[0];
         waitToUseList.RemoveAt(0);
         Card_Edit editCard = obj.GetComponent <Card_Edit>();
         obj.GetComponent <RectTransform>().anchoredPosition3D = Vector3.zero;
         editCard.SetTexture(card.cardID, true);
         obj.transform.SetParent(target);
         if (isMain)
         {
             mainDeckList.Add(obj);
         }
         else
         {
             extraDeckList.Add(obj);
         }
     }
 }
Exemple #2
0
    /// <summary>
    /// 显示卡组
    /// <para>这会隐藏已存在的卡片</para>
    /// </summary>
    /// <param name="deck"></param>
    public void ShowDeck(Deck deck)
    {
        curDeck = deck;
        Group mainGroup  = curDeck.mainDeck;
        Group extraGroup = curDeck.extraDeck;

        for (int i = 0; i < mainGroup.cardList.Count; i++)
        {
            Card theCard = mainGroup.cardList[i];

            if (i < mainDeckList.Count)
            {
                Card_Edit theCard_edit = mainDeckList[i].GetComponent <Card_Edit>();
                theCard_edit.SetTexture(theCard.cardID, true);
                theCard_edit.SetActive(true);
            }
            else
            {
                GameObject obj  = ComMethod.InitGameObject(cardPrefeb, mainDeckGroup.transform);
                Card_Edit  card = obj.GetComponent <Card_Edit>();
                card.Init();

                card.SetTexture(theCard.cardID, true);
                mainDeckList.Add(obj);
            }
        }
        for (int i = 0; i < extraGroup.cardList.Count; i++)
        {
            Card theCard = extraGroup.cardList[i];

            if (i < extraDeckList.Count)
            {
                Card_Edit theCard_edit = extraDeckList[i].GetComponent <Card_Edit>();
                theCard_edit.SetTexture(theCard.cardID, true);
                theCard_edit.SetActive(true);
            }
            else
            {
                GameObject obj  = ComMethod.InitGameObject(cardPrefeb, extraDeckGroup.transform);
                Card_Edit  card = obj.GetComponent <Card_Edit>();
                card.Init();

                card.SetTexture(theCard.cardID, true);
                extraDeckList.Add(obj);
            }
        }

        if (mainDeckList.Count > mainGroup.cardList.Count)
        {
            for (int i = mainGroup.cardList.Count; i < mainDeckList.Count; i++)
            {
                RemoveAtMainDeck(i);
                i--;
            }
        }
        if (extraDeckList.Count > extraGroup.cardList.Count)
        {
            for (int i = extraGroup.cardList.Count; i < extraDeckList.Count; i++)
            {
                RemoveAtExtraDeck(i);
                i--;
            }
        }
        UpdateText();
    }
Exemple #3
0
        protected override void OnAuthorization(AuthorizationContext filterContext)
        {
            //不能应用在子方法上
            if (filterContext.IsChildAction)
            {
                return;
            }

            ControllerBase ctb = filterContext.Controller;

            string result = WebHelper.GetPostStr();

            //if (filterContext.ActionDescriptor.ActionName.ToLower() == "existsdrawpd")
            //    Logs.Write("请求参数:" + result);
            //if (result != string.Empty)
            //{
            //}
            if (filterContext.ActionDescriptor.ActionName.ToLower() != "systimechange")
            {
                BaseInfo baseinfo = BSPConfig.BaseConfig.BaseList.Find(x => x.Key == "试用");
                if (baseinfo != null)
                {
                    if (DateTime.Compare(DateTime.Parse(baseinfo.Account), DateTime.Now) > 0)
                    {
                        if (WorkContext.ShopConfig.OnlineTimeSpan != 0)
                        {
                            filterContext.Result = APIResult("error", "试用期已结束,若要继续使用软件,请联系服务人员!");
                            return;
                        }
                        else
                        {
                        }
                    }
                    else
                    {
                        filterContext.Result = APIResult("error", "试用期已结束,若要继续使用软件,请联系服务人员!");
                        return;
                    }
                }
                else
                {
                    filterContext.Result = APIResult("error", "试用期已结束,若要继续使用软件,请联系服务人员!");
                    return;
                }
            }


            List <string> actionlist;

            if (!WebHelper.IsPost())
            {
                actionlist = new List <string>();
                actionlist.AddRange(new string[] { "expand", "notice", "help", "download", "dlapp", "register", "flownotify", "down", "message", "app", "xy",
                                                   "getkefuinfo", "getchatroom", "istimeout", "systimechange", "dummyuser" });

                if (!ctb.ToString().Contains("ErrorController") && !actionlist.Contains(filterContext.ActionDescriptor.ActionName.ToLower()))
                {
                    filterContext.Result = APIResult("error", "只支持POST方式请求");
                    return;
                }
            }
            else
            {
                NameValueCollection parmas = WebHelper.GetParmList(result);
                WorkContext.postparms = parmas;
                string account = parmas.Get("account") == null ? Request.Form["account"] : parmas.Get("account");
                if (account != null && account != string.Empty)
                {
                    InitUser(account);
                }
                actionlist = new List <string>();
                actionlist.AddRange(new string[] { "sendmsg", "updateuserinfo", "homedata", "advert", "login", "register", "sendmsgmobile", "app", "xy",
                                                   "sendsms", "dlapp", "down", "resetpwd", "about", "getchatroom", "istimeout", "systimechange", "dummyuser" });
                //验证IMEI
                if (!actionlist.Contains(filterContext.ActionDescriptor.ActionName.ToLower()))
                {
                    // Logs.Write("请求参数:" + parmas.Get("account") + "____" + parmas.Get("imei") + ";" + Request.Form["account"] + "___" + Request.Form["imei"]);
                    if ((parmas.Get("account") == null || parmas.Get("imei") == null) && (Request.Form["account"] == null || Request.Form["imei"] == null))
                    {
                        filterContext.Result = APIResult("error", "缺少请求参数");
                        return;
                    }

                    string imei  = parmas.Get("imei") == null ? Request.Form["imei"] : parmas.Get("imei");
                    string imres = ComMethod.ValidateIMEI(account, imei);
                    if (imres != string.Empty)
                    {
                        filterContext.Result = APIResult("error", imres);
                        return;
                    }
                }
            }
            //商城已经关闭
            if (WorkContext.ShopConfig.IsClosed == 1 && WorkContext.AdminGid == 1 && WorkContext.PageKey != "/account/login" && WorkContext.PageKey != "/account/logout")
            {
                filterContext.Result = PromptView(WorkContext.ShopConfig.CloseReason);
                return;
            }

            //当前时间为禁止访问时间
            if (ValidateHelper.BetweenPeriod(WorkContext.ShopConfig.BanAccessTime) && WorkContext.AdminGid == 1 && WorkContext.PageKey != "/account/login" && WorkContext.PageKey != "/account/logout")
            {
                filterContext.Result = PromptView("当前时间不能访问本商城");
                return;
            }

            //当用户ip在被禁止的ip列表时
            if (ValidateHelper.InIPList(WorkContext.IP, WorkContext.ShopConfig.BanAccessIP))
            {
                filterContext.Result = PromptView("您的IP被禁止访问本商城");
                return;
            }

            //当用户ip不在允许的ip列表时
            if (!string.IsNullOrEmpty(WorkContext.ShopConfig.AllowAccessIP) && !ValidateHelper.InIPList(WorkContext.IP, WorkContext.ShopConfig.AllowAccessIP))
            {
                filterContext.Result = PromptView("您的IP被禁止访问本商城");
                return;
            }

            //当用户IP被禁止时
            if (BannedIPs.CheckIP(WorkContext.IP))
            {
                filterContext.Result = PromptView("您的IP被禁止访问本商城");
                return;
            }

            //判断目前访问人数是否达到允许的最大人数
            if (WorkContext.OnlineUserCount > WorkContext.ShopConfig.MaxOnlineCount && WorkContext.AdminGid == 1 && (WorkContext.Controller != "account" && (WorkContext.Action != "login" || WorkContext.Action != "logout")))
            {
                filterContext.Result = PromptView("商城人数达到访问上限, 请稍等一会再访问!");
                return;
            }
        }