public void CreateQueue() { bool me = UnityEngine.Random.Range(0, 1f) > 0.5; if (Services.data.tutorStep < 2) { me = true; } Clear(); count = cardIcons.Count;//Services.data.tutorStep == 0 ? 2 : cardIcons.Count; for (int i = 0; i < count; i++) { CardItem q = Services.data.GetNewCard(default(CardData), me, 0); me = !me; int tutorStep = Services.data.tutorStep; if (tutorStep == 1) { q.data = Services.data.game.cards.Find(c => c.id == Services.data.game.config.tutstep[i]); } Add(q); } }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.ContainerCard.Click -= ItemClick; item.ContainerCard.Click += ItemClick; return(item); }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.ButtonIcon.SetImageResource(Resource.Drawable.ic_favorite_white_24px); ImageViewCompat.SetImageTintList(item.ButtonIcon, FavoriteIconColor); return(item); }
public override void BindCardViewHolder(CardItem holder, int position) { var item = Items[position]; holder.Button.Click -= ButtonClick; if (_spoilerTags[position]) { holder.Name.Text = "SPOILER"; holder.DetailPrimary.Text = "Tap view button to show tag"; holder.DetailSecondary.Visibility = ViewStates.Gone; holder.Button.Visibility = ViewStates.Visible; holder.Button.SetTag(Resource.Id.Object_Position, position); holder.ContainerCard.Click -= RowClick; holder.Button.Click -= ButtonClick; holder.Button.Click += ButtonClick; } else { holder.Name.Text = item.Name; holder.DetailPrimary.Text = item.Description; holder.DetailSecondary.Visibility = ViewStates.Visible; holder.DetailSecondary.Text = $"{item.Rank}%"; holder.Button.Visibility = ViewStates.Gone; holder.ContainerCard.SetTag(Resource.Id.Object_Position, position); holder.ContainerCard.Click -= RowClick; holder.ContainerCard.Click += RowClick; } }
public void AddTagToCardTest() { //Arrange DatabaseSvc testDAL = new DatabaseSvc(_connectionString); string tagName = "AddTag Test"; int cardId = _cardId1; //Act TagItem testTagHasId = testDAL.AddTagToCard(tagName, cardId); CardItem confirmCard = testDAL.GetCard(_cardId1); //Assert bool tagAdded = false; foreach (TagItem item in confirmCard.Tags) { if (item.TagName == tagName) { tagAdded = true; } } Assert.AreEqual(true, tagAdded, "Confirm tag was added"); }
private void OnClickCardItem(GameObject go) { CardItem mCardItem = go.GetComponent <CardItem>(); if (mCurrSelectedCardItem != null) { mCurrSelectedCardItem.SetTouchStateNone(); mCurrSelectedCardItem = null; // if (!mCurrSelectedCardItem.Equals(mCardItem)) // { // mCurrSelectedCardItem.SetTouchStateNone(); // } // mCardItem.Click(); } else { mCardItem.Click(); mCurrSelectedCardItem = mCardItem; } //MahJongGameAction requestPack = new MahJongGameAction() //{ // Action = MahJongActionType.PlayCard //}; //requestPack.Cards = new List<Card>(); //requestPack.Cards.Add(go.GetComponent<CardItem>().getCard); //ActionParam actionParam = new ActionParam(requestPack); //Net.Instance.Send((int)ActionType.GameAction, onClickCardCallBack, actionParam); //SetCardsState(false); }
private void Awake() { mCacheTransform = this.transform; if (mUIGameModel == null) { mUIGameModel = UIModelMgr.Instance.GetModel <UIGameModel>(); mUIGameModel.ValueUpdateEvent += OnValueUpdateEvent; } mCurrCardItem = mCacheTransform.FindComponent <CardItem>("CurrCardItem"); mHandCardList = mCacheTransform.FindChindComponents <CardItem>("HandCards"); mDeskCardList = mCacheTransform.FindChindComponents <CardItem>("DeskCards"); mCardGroupList = mCacheTransform.FindChindComponents <HandCardGroupItem>("HandCardGroups"); mOperationEffectItem = mCacheTransform.FindComponent <OperationEffectItem>("OperationEffectItem"); if (mDirection == DirectionType.bottom) { mOperationCardGroup = mCacheTransform.FindComponent <Transform>("Operations/OperationCardGroup"); mOperationItems = mCacheTransform.FindChindComponents <OperationItem>("Operations"); mHandCardGroupItems = mCacheTransform.FindChindComponents <HandCardGroupItem>("Operations/OperationCardGroup"); Array.ForEach <OperationItem>(mOperationItems, p => { UIEventListener.Get(p.gameObject).onClick += OnOperationClick; }); //点击 吃 碰 杠等 Array.ForEach <HandCardGroupItem>(mHandCardGroupItems, p => { p.SetVisible(false); UIEventListener.Get(p.gameObject).onClick += OnHandCardGroupClick; //UIEventListener.Get(p.gameObject).onDragOver += OnHandCardGroupDrag; }); mOperationCardGroup.SetVisible(false); Array.ForEach <CardItem>(mHandCardList, p => { UIEventListener.Get(p.gameObject).onClick += OnClickCardItem; }); Array.ForEach <CardItem>(mHandCardList, p => { UIEventListener.Get(p.gameObject).onDragOver += OnDragItem; }); UIEventListener.Get(mCurrCardItem.gameObject).onClick += OnClickCardItem; UIEventListener.Get(mCurrCardItem.gameObject).onDragOver += OnDragItem; } }
public bool AddCompareList(CardItem card) { if (compareList.Count == 0)//翻一张 { compareList.Add(card); return(false); } if (compareList.Count > 0) { shieldOper?.Invoke(true); compareList.Add(card); if (compareList[0].ID == card.ID) { cardDismiss?.Invoke(compareList[0], compareList[1]); ClearCompareList(); } else { cardFlipBack?.Invoke(compareList[0], compareList[1]); ClearCompareList(); } } return(true); }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.Button.Visibility = ViewStates.Gone; item.Name.SetSingleLine(false); item.Name.SetMaxLines(2); return(item); }
public static CardItemDTO ItemToDTO(CardItem todoItem) => new CardItemDTO { Id = todoItem.Id, Name = todoItem.Name, IsAvailable = todoItem.IsAvailable };
public void PointerEnterCard(CardItem card) { if (canOperate) { if (seletedCards.Contains(card)) { startAdd = false; startRem = true; lastRemovedCard = card; seletedCards.Remove(card); card.BeingSelect(false); if (seletedCards.Contains(lastAddCard) && lastAddCard != null && startRem) { seletedCards.Remove(lastAddCard); lastAddCard.BeingSelect(false); } } else { startAdd = true; startRem = false; lastAddCard = card; seletedCards.Add(card); card.BeingSelect(true); if (!seletedCards.Contains(lastRemovedCard) && lastRemovedCard != null && startAdd) { seletedCards.Add(lastRemovedCard); lastAddCard.BeingSelect(true); lastRemovedCard = null; } } } }
/// <summary> /// Return a list of CardItem objects NOT assigned to any deck /// </summary> /// <returns>List of Cards in deck</returns> public List <CardItem> GetAllUnassignedCards() { List <CardItem> result = new List <CardItem>(); //Connect to Database using (SqlConnection conn = new SqlConnection(_connectionString)) { conn.Open(); //Create sql statement string sqlPlayer = "SELECT card.Id, card.UserId, Term, Definition " + "FROM [Card] " + $"WHERE card.Id NOT IN (Select CardId from Deck_Card); "; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sqlPlayer; cmd.Connection = conn; //Send command to database SqlDataReader reader = cmd.ExecuteReader(); //Pull data off of result set while (reader.Read()) { CardItem card = new CardItem(); card.Id = Convert.ToInt32(reader["Id"]); card.UserID = Convert.ToInt32(reader["UserId"]); card.Term = Convert.ToString(reader["Term"]); card.Definition = Convert.ToString(reader["Definition"]); result.Add(card); } } return(result); }
public ActionResult AddToCart(long productID, int quantity) { var product = new ProductDAO().GetByID(productID); if (Session[CardSession] != null) { var listExistItem = (List <CardItem>)Session[CardSession]; if (listExistItem.Exists(x => x.Product.ID == productID)) { listExistItem.Find(x => x.Product.ID == productID).Quantity += quantity; } else { var item = new CardItem(); item.Product = product; item.Quantity = quantity; listExistItem.Add(item); } Session[CardSession] = listExistItem; } else { var item = new CardItem(); item.Product = product; item.Quantity = quantity; var listNewItem = new List <CardItem>(); listNewItem.Add(item); Session[CardSession] = listNewItem; } return(RedirectToAction("Index", "Cart")); }
/// <summary> /// Gets Card information based on card Id. Runs GetAllTagsForCard method also. /// </summary> /// <param name="id">card id</param> /// <returns>CardItem Object</returns> public CardItem GetCard(int id) { CardItem card = new CardItem(); const string sql = "SELECT * FROM [Card] WHERE Id = @Id;"; using (SqlConnection conn = new SqlConnection(_connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddWithValue("@Id", id); //Send command to database SqlDataReader reader = cmd.ExecuteReader(); //Pull data off of result set while (reader.Read()) { CardItem newCard = new CardItem(); newCard.Id = Convert.ToInt32(reader["Id"]); newCard.UserID = Convert.ToInt32(reader["UserId"]); newCard.Term = Convert.ToString(reader["Term"]); newCard.Definition = Convert.ToString(reader["Definition"]); card = newCard; } } card.Tags = GetAllTagsForCard(id); return(card); }
private void Awake() { mCacheTransform = this.transform; mUIGameModel = UIModelMgr.Instance.GetModel <UIGameModel>(); mOwnerIcon = mCacheTransform.FindComponent <UISprite>("HeadIcon/OwnerIcon"); mZhuangIcon = mCacheTransform.FindComponent <UISprite>("HeadIcon/ZhuangIcon"); mHeadIcon = mCacheTransform.FindComponent <UITexture>("HeadIcon"); mLabelName = mCacheTransform.FindComponent <UILabel>("HeadIcon/Name"); mLabelDes = mCacheTransform.FindComponent <UILabel>("PlayerCards/LabelDes"); mCurrCardItem = mCacheTransform.FindComponent <CardItem>("PlayerCards/CurrCardItem"); mHandCardItem = mCacheTransform.FindComponent <HandCardGroupItem>("PlayerCards/HandCards"); if (mHandCradGroupItems == null) { mHandCradGroupItems = new List <HandCardGroupItem>(); } mHandCradGroupItems.Add(mCacheTransform.FindComponent <HandCardGroupItem>("PlayerCards/HandCardGroup/CardGroup0")); mHandCradGroupItems.Add(mCacheTransform.FindComponent <HandCardGroupItem>("PlayerCards/HandCardGroup/CardGroup1")); mHandCradGroupItems.Add(mCacheTransform.FindComponent <HandCardGroupItem>("PlayerCards/HandCardGroup/CardGroup2")); mHandCradGroupItems.Add(mCacheTransform.FindComponent <HandCardGroupItem>("PlayerCards/HandCardGroup/CardGroup3")); mLabelTotalScore = mCacheTransform.FindComponent <UILabel>("LabelTotalScore"); mLabelHupai = mCacheTransform.FindComponent <UILabel>("LabelHuPai"); mLabelJingPai = mCacheTransform.FindComponent <UILabel>("LabelJingPai"); mHuSprite = mCacheTransform.FindComponent <UISprite>("HuSprite"); mGunnerSprite = mCacheTransform.FindComponent <UISprite>("GunnerSprite"); }
public async Task AddItem(Product product, int quantity = 1) { //TODO: Main issue is that Based on my architecture I nead the card ID CardItem line = await this._cardRepository .CardItems .Include(p => p.Product) .Where(c => c.Id == product.Id && !c.IsDeleted) .FirstOrDefaultAsync(); if (line == null) { var newLine = new CardItem() { Product = product, Id = product.Id, Quantity = quantity }; this._cardRepository.Add(newLine); await this._cardRepository.SaveChangesAsync(); } else { line.Quantity += quantity; } }
/// <summary> /// 获取当前要移动到中心的Itme 需要移动的factor间隔数 /// </summary> /// <param name="targeXPos"></param> /// <returns></returns> private int GetMoveCureFactorCount(CardItem preCenterItem, CardItem newCenterItem) { SortItemDepth(); int factorCount = Mathf.Abs(newCenterItem.RealIndex) - Mathf.Abs(preCenterItem.RealIndex); return(Mathf.Abs(factorCount)); }
//准备卡牌 public void PrepareCard() { int expectedCardNum = Mathf.Min(maxCardNum, data.Count); //如果现有的卡牌数不够 if (curCardNum < expectedCardNum) { for (int i = curCardNum; i < expectedCardNum; i++) { if (cardCache.Count > 0)//缓存池没空,就从缓存池里取 { cardList.Add(cardCache.Dequeue()); } else//缓存池空了,就创建新的 { C cardItem = CardItem <T, C, V> .Create(prefab, this); cardList.Add(cardItem); cardItem.transform.SetParent(content); } } } else//现有的卡牌数大于需要展示的卡牌数 { for (int i = curCardNum - 1; i >= expectedCardNum; i--) { cardCache.Enqueue(cardList[i]); cardList.RemoveAt(i); } } curCardNum = expectedCardNum; halfRange = curCardNum / 2; }
public async Task <CardItem> PatchAsync(CardItem patchInfo, CancellationToken cancelltionToken) { var card = context.Cards.Update(patchInfo); await context.SaveChangesAsync(); return(card.Entity); }
LoopListViewItem2 InitScrollView(LoopListView2 listView, int index) { if (index < 0 || index >= TotalItemCount) { return(null); } CardData itemData = GetItemDataByIndex(index); if (itemData == null) { return(null); } //get a new item. Every item can use a different prefab, the parameter of the NewListViewItem is the prefab’name. //And all the prefabs should be listed in ItemPrefabList in LoopListView2 Inspector Setting LoopListViewItem2 item = listView.NewListViewItem("CardItem"); CardItem itemScript = item.GetComponent <CardItem>(); if (item.IsInitHandlerCalled == false) { item.IsInitHandlerCalled = true; itemScript.Init(); } itemScript.SetItemData(itemData, index, true); return(item); }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.Image.Visibility = ViewStates.Gone; item.ContainerCard.SetContentPadding(20, 20, 20, 20); item.ButtonIcon.SetImageResource(Resource.Drawable.ic_visibility_white_24px); return(item); }
public override RecyclerView.ViewHolder CreateCustomViewHolder(ViewGroup parent, int viewType) { if (_viewType == MediaListItemViewType.Compact) { var card = new CardItem(Context.LayoutInflater.Inflate( Resource.Layout.View_CardItem_FlatHorizontalCompact, parent, false)); SetupButtonClickActions(card); SetupRowClickActions(card); return(SetupCardItemViewHolder(card)); } if (_viewType == MediaListItemViewType.TitleOnly) { var card = new CardItem(Context.LayoutInflater.Inflate( Resource.Layout.View_CardItem_FlatHorizontalTitleOnly, parent, false)); SetupRowClickActions(card); return(SetupCardItemViewHolder(card)); } return(base.CreateCustomViewHolder(parent, viewType)); }
private void CheckAvailability(string id) { var cardItem = _context.CardItems.FirstOrDefault(x => x.Id == id); if (cardItem != null) { return; } var item = _cardService.Find(id); if (item.Value == null) { throw new Exception("Incorrect id"); } var newItem = new CardItem { Id = item.Value.Id, ImageUrl = item.Value.ImageUrl != null?item.Value.ImageUrl.ToString() : null, //method ManaCost = item.Value.ManaCost, Name = item.Value.Name, SetName = item.Value.SetName }; _context.CardItems.Add(newItem); _context.SaveChanges(); }
/// <summary> /// 获取卡片主表 /// </summary> /// <param name="id"></param> /// <returns></returns> public CardItem GetCardItem(long id) { CardItem item = null; if (string.IsNullOrEmpty(_ConnectionString)) { LogHelper.Log("CardData-GetCardItem:" + "File ERROR"); return(item); } try { LockUtils.LockEnter(_ConnectionString); DapperHelper db = new DapperHelper(this._ConnectionString); string sql = $"select * from carditem where id=@id"; item = db.QueryFirst <CardItem>(sql, new { id }); } catch (Exception ex) { LogHelper.Log("CardData-GetCardItem:" + ex.ToString()); } finally { LockUtils.LockExit(_ConnectionString); } return(item); }
public bool UpdateCard(CardItem card, int cardId) //Note: updating tags might be done in views or sql statement can be changed to join tag and card tables (Diana) { bool wasSuccessful = true; //Connect to database using (SqlConnection conn = new SqlConnection(_connectionString)) { conn.Open(); //Create SQL statement const string sqlUpdateCard = "UPDATE [Card] SET Term = @Term, Definition = @Definition, TagId = @TagId WHERE Id = @Id;"; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sqlUpdateCard; cmd.Connection = conn; cmd.Parameters.AddWithValue("@Term", card.Term); cmd.Parameters.AddWithValue("@Definition", card.Definition); cmd.Parameters.AddWithValue("@TagId", 2); cmd.Parameters.AddWithValue("@Id", cardId); //Send command to database int rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected == 0) { wasSuccessful = false; } } return(wasSuccessful); }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.DetailPrimary.SetMaxLines(2); item.DetailPrimary.Ellipsize = TextUtils.TruncateAt.End; item.Name.Visibility = ViewStates.Gone; return(item); }
public async Task Can_Cleare_Content() { var options = new DbContextOptionsBuilder <SportStoreDbContext>() .UseInMemoryDatabase(databaseName: "Can_Cleare_Content") .Options; var cardItem1 = new CardItem() { Product = new Product() { Id = 1, Price = 5.0M, Name = "P1" }, Quantity = 1, IsDeleted = false }; var cardItem2 = new CardItem() { Product = new Product() { Id = 2, Price = 5.0M, Name = "P2" }, Quantity = 2, IsDeleted = false }; var cardItem3 = new CardItem() { Product = new Product() { Id = 3, Price = 5.0M, Name = "P2" }, Quantity = 2, IsDeleted = false }; using (var context = new SportStoreDbContext(options)) { await context.CardItems.AddAsync(cardItem1); await context.CardItems.AddAsync(cardItem2); await context.CardItems.AddAsync(cardItem3); await context.SaveChangesAsync(); var service = new CardService(context); await service.Clear(); var cleared = await context .CardItems .ToListAsync(); var clearedCount = cleared.Where(c => c.IsDeleted).Count(); Assert.Equal(3, clearedCount); } }
public async Task Get_All_Card_Items() { var options = new DbContextOptionsBuilder <SportStoreDbContext>() .UseInMemoryDatabase(databaseName: "Get_All_Card_Items") .Options; var cardItem1 = new CardItem() { Product = new Product() { Id = 1, Price = 5.0M, Name = "P1" }, Quantity = 1, IsDeleted = false }; var cardItem2 = new CardItem() { Product = new Product() { Id = 2, Price = 5.0M, Name = "P2" }, Quantity = 2, IsDeleted = false }; var cardItem3 = new CardItem() { Product = new Product() { Id = 3, Price = 5.0M, Name = "P2" }, Quantity = 2, IsDeleted = false }; using (var context = new SportStoreDbContext(options)) { await context.CardItems.AddAsync(cardItem1); await context.CardItems.AddAsync(cardItem2); await context.CardItems.AddAsync(cardItem3); await context.SaveChangesAsync(); var service = new CardService(context); var result = await service.GetAll(); var resultCount = result.ToList().Count; var savedItems = await context .CardItems .ToListAsync(); Assert.Equal(savedItems.Count, resultCount); } }
public override CardItem SetupCardItemViewHolder(CardItem item) { item.Name.SetTextColor(_userNameColor); item.DetailSecondary.Visibility = ViewStates.Gone; item.Container.SetBackgroundColor(Color.Transparent); item.ContainerCard.CardBackgroundColor = ColorStateList.ValueOf(Color.Transparent); return(item); }
public async Task <CardItemInfo> CreateAsync(CardItem cardToCreate, CancellationToken cancellationToken) { await context.Cards.AddAsync(cardToCreate); await context.SaveChangesAsync(); return(cardToCreate); }
/// <summary> /// Add card to collection from JSON (string) parameters. /// Adds or updates a card in your collection, based on data passed as parameters. /// It is intended to be used to load data from JSON files and store it as cards/locales in your collection. /// </summary> /// <param name="card">JSON card data for card (mainly strings)</param> /// <param name="set">Set which card is related to</param> /// <param name="locale">Locale of the texts from the card</param> /// <param name="filename">File name of the picture used as background for card</param> /// <param name="race">Localized text for card race, if necessary</param> /// <param name="useDefault">Use default image if no filename is given</param> public void Add(CardJSON card, CardSet set, Locales locale, string filename, string race = "", bool useDefault = true) { // If card already stored, add new texts only if necessary CardItem item; if (Cards.TryGetValue(card.Id, out item)) { // If locale is not included, add it if (!item.hasLocale(locale)) { item.addLocale(locale, card.Name, card.Text, race); } } else // Add new card { // Take JSON values var _type = General.getCustomCardType(card.Type); var _class = General.getCardClass(card.PlayerClass); var _race = General.getCardRace(card.Race); var _rarity = General.getCardRarity(card.Rarity); // Create card from them item = new CardItem(card.Id, card.Cost, card.Attack, card.Health, card.Durability, _type, _class, _race, set, _rarity, filename, useDefault); // Add localized texts item.addLocale(locale, card.Name, card.Text, race); // Add it to collection Cards.Add(card.Id, item); } // If locale not included in locales, include it if (!Languages.ContainsKey(locale)) { Languages.Add(locale, General.getShortLocale(locale)); } }
/// <summary> /// Add a card to collection from card item. /// Add a card to collection. If card already exists, check if it has all localized texts stored in the new one, adding the new ones. /// Update locales dictionary with new locales from card, if necessary /// </summary> /// <param name="card"></param> public void Add(CardItem card) { // If card already stored, add new texts only CardItem item; if (Cards.TryGetValue(card.Id, out item)) { // Add all locales in card to collection var locales = card.getLocales(); // So for each one, check if already stored foreach (var local in locales) { // Not stored? if (!Languages.ContainsKey(local)) { // Do it (just do it, Shia!) Languages.Add(local, General.getShortLocale(local)); } // Not locale in stored card? store it if (!item.hasLocale(local)) { card.setLocale(local); item.addLocale(local, card.Name, card.Text, card.RaceName); } } } // Otherwise, add new card else { // Add card to collection Cards.Add(card.Id, card); // Add all locales in card to collection var locales = card.getLocales(); // So for each one, check if already stored foreach (var local in locales) { // Not stored? if (!Languages.ContainsKey(local)) { // Do it (just do it, Shia!) Languages.Add(local, General.getShortLocale(local)); } } } }