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); } } }
/// <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(); }
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; } }