public void RA_ShouldReturn_BattlecardsInCorrectOrder_AfterDelete() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(5, CardType.SPELL, "joro", 10, 5); BattleCard cd2 = new BattleCard(6, CardType.SPELL, "joro", 11, 5); BattleCard cd3 = new BattleCard(7, CardType.SPELL, "joro", 12, 5); List <BattleCard> expected = new List <BattleCard>() { cd2 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.RemoveById(5); RA.RemoveById(7); List <BattleCard> actual = new List <BattleCard>(); foreach (BattleCard battlecard in RA) { actual.Add(battlecard); } //Assert CollectionAssert.AreEqual(expected, actual); }
public void GetByName_ShouldWorkCorrectly() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(2, CardType.SPELL, "joro", 5, 1); BattleCard cd2 = new BattleCard(1, CardType.SPELL, "joro", 6, 1); BattleCard cd3 = new BattleCard(4, CardType.SPELL, "joro", 7, 15.6); BattleCard cd4 = new BattleCard(3, CardType.SPELL, "joro", 8, 15.6); BattleCard cd5 = new BattleCard(8, CardType.RANGED, "joro", 11, 17.8); List <BattleCard> expected = new List <BattleCard>() { cd5, cd4, cd3, cd2, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); //Assert IEnumerable <BattleCard> joro = RA.GetByNameOrderedBySwagDescending("joro"); List <BattleCard> actual = new List <BattleCard>(); foreach (var item in joro) { actual.Add(item); } CollectionAssert.AreEquivalent(expected, actual); }
protected void UpdateScoll(int index, GameObject go) { //Debug.Log("index:" + index); //Debug.Log("card:" + card.CardID.ToString()); UIText name = Utility.GameUtility.FindDeepChild <UIText>(go, "name"); name.text = MyPlayer.Instance.data.CardList[index].ToString(); Cards card = Cards.Get(EnemyPlayer.Instance.data.BattleCardList[index]); go.name = card.CardID.ToString(); go.transform.Find("card").GetComponent <UIImage>().sprite = ResourcesManager.Instance.SyncGetCardImgInAltas(card.CardID); AddListClick(go, OnClickCard); UIImage m_Hp = Utility.GameUtility.FindDeepChild <UIImage>(go, "HpNode/Hp"); UIImage m_Process = Utility.GameUtility.FindDeepChild <UIImage>(go, "HpNode/HpProcess"); UIText m_NameText = Utility.GameUtility.FindDeepChild <UIText>(go, "HpNode/Name"); UIText m_LevelText = Utility.GameUtility.FindDeepChild <UIText>(go, "HpNode/Level"); m_Hp.fillAmount = 1.0f; BattleCard battleCard = BattleManager.Instance.EnemyCardDic[card.CardID]; m_Hp.fillAmount = battleCard.HpPercent(); m_NameText.text = battleCard.BaseData.Name; if (!HpImgDic.ContainsKey(card.CardID)) { HpImgDic.Add(card.CardID, m_Hp); } }
public void GetByCardTypeAndMaximumDamage_ShouldWorkCorrectly_OnExistingSender() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(2, CardType.SPELL, "joro", 1, 5); BattleCard cd2 = new BattleCard(1, CardType.SPELL, "valq", 14.8, 6); BattleCard cd3 = new BattleCard(3, CardType.SPELL, "valq", 15.6, 12); BattleCard cd4 = new BattleCard(4, CardType.SPELL, "valq", 15.6, 61); BattleCard cd5 = new BattleCard(8, CardType.SPELL, "valq", 17.8, 13); List <BattleCard> expected = new List <BattleCard>() { cd3, cd4, cd2, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); //Assert IEnumerable <BattleCard> battlecards = RA.GetByCardTypeAndMaximumDamage(CardType.SPELL, 15.6); List <BattleCard> actual = new List <BattleCard>(); foreach (var item in battlecards) { actual.Add(item); } CollectionAssert.AreEqual(expected, actual); }
public void FindFirstLeastSwag_ShouldWorkCorrectly() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(5, CardType.SPELL, "joro", 6.0, 1.0); BattleCard cd2 = new BattleCard(6, CardType.MELEE, "joro", 7.0, 5.5); BattleCard cd3 = new BattleCard(7, CardType.SPELL, "joro", 11.0, 5.5); BattleCard cd4 = new BattleCard(12, CardType.BUILDING, "joro", 12.0, 15.6); BattleCard cd5 = new BattleCard(15, CardType.BUILDING, "moro", 13.0, 7.8); List <BattleCard> expected = new List <BattleCard>() { cd1, cd2, cd3, cd5 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); IEnumerable <BattleCard> battlecards = RA.FindFirstLeastSwag(4); List <BattleCard> actual = new List <BattleCard>(); foreach (var b in battlecards) { actual.Add(b); } //Assert CollectionAssert.AreEqual(expected, actual); }
public void GetByTypeAndDamageRangeOrderedByDamageThenById_ShouldWorkCorrectly_On_CorrectRange() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(5, CardType.SPELL, "joro", 1, 5); BattleCard cd2 = new BattleCard(6, CardType.SPELL, "joro", 5.5, 6); BattleCard cd3 = new BattleCard(7, CardType.SPELL, "joro", 5.5, 7); BattleCard cd4 = new BattleCard(12, CardType.SPELL, "joro", 15.6, 10); BattleCard cd5 = new BattleCard(15, CardType.RANGED, "joro", 7.8, 6); List <BattleCard> expected = new List <BattleCard>() { cd4, cd2, cd3, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); //Assert IEnumerable <BattleCard> battlecards = RA.GetByTypeAndDamageRangeOrderedByDamageThenById(CardType.SPELL, 0, 20); List <BattleCard> actual = new List <BattleCard>(); foreach (var b in battlecards) { actual.Add(b); } CollectionAssert.AreEqual(expected, actual); }
public ActionResult Delete(Guid guid, int?at) { if (guid == null || at == null) { return(RedirectToAction("ListPokemon", new { at = 1 })); } if (TempData["BattleCard"] == null) { return(RedirectToAction("Index")); } BattleCard bc = (BattleCard)TempData["BattleCard"]; if ((int)at == 1) { Pokemon p = bc.FavPokes.Find(x => x.PokeGUID == guid); bc.FavPokes.Remove(p); } else { Pokemon p = bc.GymPokes.Find(x => x.PokeGUID == guid); bc.GymPokes.Remove(p); } TempData["BattleCard"] = bc; return(RedirectToAction("ListPokemon", new { at = at })); }
private void TakeCard(BattleCard card, string guid) { Debug.Log("TC2"); CardBehaviour cardBehaviour = AddCardToDeck(card, guid); CardsLayoutManager.Instance.MoveCardTo(cardBehaviour, CardsLayoutManager.SlotType.PlayerHand); }
public void RA_ShouldBeEnumeratedIn_InsertionOrder() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(5, CardType.SPELL, "joro", 5, 5); BattleCard cd2 = new BattleCard(6, CardType.SPELL, "joro", 6, 5); BattleCard cd3 = new BattleCard(7, CardType.SPELL, "joro", 7, 5); List <BattleCard> expected = new List <BattleCard>() { cd1, cd3, cd2 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); List <BattleCard> actual = new List <BattleCard>(); foreach (BattleCard battlecard in RA) { actual.Add(battlecard); } //Assert CollectionAssert.AreEqual(expected, actual); }
// GET: Home public ActionResult Index() { BattleCard bc = new BattleCard(); if (TempData["BattleCard"] != null) { bc = (BattleCard)TempData["BattleCard"]; } else { //get cookie if (Request.Cookies["BattleCard"] != null) { List <CookieBattleCard> cl = JsonConvert.DeserializeObject <List <CookieBattleCard> >(Request.Cookies["BattleCard"].Value); foreach (var item in cl) { Pokemon p = new Pokemon(); p.Poke = db.pokemons.Find(item.Po); p.QuickAttack = db.attacks.Find(item.Qa); p.ChargeAttack = db.attacks.Find(item.Ca); bc.FavPokes.Add(p); } } } TempData["BattleCard"] = bc; return(View(bc)); }
public void removeBatteleCard(BattleCard battleCard) { this.battleCardList.Remove(battleCard); // TODO: 转移到弃牌堆 this.sectorArrayCard(this.battleCardList); }
public void DisplayCardDetail(BattleCard card) { string cardName = card.concreteCard.name; cardName = string.Join("\n", cardName.Split(new char[] { ' ' }, System.StringSplitOptions.RemoveEmptyEntries)); _label_name.text = cardName; _label_level.text = card.concreteCard.level.ToString(); _label_hp.text = card.health.ToString(); _label_mp.text = card.mana.ToString(); _label_description.text = card.concreteCard.description; for (int i = 0; i < _attrLabels.Length; i++) { _attrLabels[i].text = _propertiesOfBattleCard[i].GetValue(card, null).ToString(); } _renderer_frame.material = _shellMaterials [(int)card.concreteCard.rarity]; _renderer_role.material.mainTexture = card.concreteCard.roleTexture; for (int i = 0; i < card.abilities.Count && i < _abilitiesDisplayer.Length; i++) { _abilitiesDisplayer[i].LoadAbility(card.abilities[i]); } gameObject.SetActive(true); HOTween.To(transform, _showTime, new TweenParms().Prop("position", new Vector3(6f, 0, 0), true).Ease(EaseType.Linear)); // Debug.Log(card.magicalDamage+"|"+card.concreteCard.baseCard.magicalDamageBase+"|"+BaseCard.rate_magic_magicalDamage); }
private void RefreshSelectedCard() { for (int i = 0; i < cards.Count; i++) { BattleCard card = cards[i]; card.SetSelected(card.uid == nowSelectedCardUid); } if (nowSelectedCardUid == -1) { for (int i = 0; i < mPosArr.Length; i++) { mPosArr[i].SetHintVisible(false); } } else { for (int i = 0; i < mPosArr.Length; i++) { int result = battle.CheckAddSummon(battle.clientIsMine, nowSelectedCardUid, i); if (result == -1) { mPosArr[i].SetHintVisible(true); } else { mPosArr[i].SetHintVisible(false); } } } }
private void spawnPlayerCards() { int drawCardCount = AppContext.instance.playerDataManager.playerData.drawCardCount; List <int> playerCardList = this._battlePlayerData.cardList; int leftCardCount = playerCardList.Count; for (int i = 0; (i < drawCardCount && i < leftCardCount); i++) { int index = i; AppContext.instance.promiseTimer.waitFor(index * this.spawnCardInterval).then(() => { BattleCard battleCard = AppContext.instance.spawnManager.createBattleCard(this.cardParent); this.battleCardList.Add(battleCard); int cardId = playerCardList[index]; CustomCardData cardData = AppContext.instance.customDataManager.cardDataDic[cardId]; battleCard.init(cardData); this.curCardIndex++; battleCard.rectTransform.localPosition = new Vector3(-300, 0, 0); this.sectorArrayCard(this.battleCardList); }); } }
public void GetByCardType_ShouldReturnCorrectResultAfterRemove() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(2, CardType.SPELL, "valq", 2, 14.8); BattleCard cd2 = new BattleCard(1, CardType.SPELL, "valq", 2, 14.8); BattleCard cd3 = new BattleCard(4, CardType.SPELL, "valq", 4, 15.6); BattleCard cd4 = new BattleCard(3, CardType.SPELL, "valq", 3, 15.6); BattleCard cd5 = new BattleCard(8, CardType.RANGED, "valq", 8, 17.8); List <BattleCard> expected = new List <BattleCard>() { cd3, cd2, cd1 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); RA.RemoveById(8); RA.RemoveById(3); //Assert IEnumerable <BattleCard> battlecards = RA.GetByCardType(CardType.SPELL); List <BattleCard> actual = new List <BattleCard>(); foreach (var item in battlecards) { actual.Add(item); } CollectionAssert.AreEquivalent(expected, actual); }
public void GetInSwagRange_ShouldReturn_CorrectBattlecards() { //Arrange IArena RA = new RoyaleArena(); BattleCard cd1 = new BattleCard(5, CardType.SPELL, "dragon", 8, 1); BattleCard cd2 = new BattleCard(6, CardType.SPELL, "raa", 7, 2); BattleCard cd3 = new BattleCard(7, CardType.SPELL, "maga", 6, 5.5); BattleCard cd4 = new BattleCard(12, CardType.SPELL, "shuba", 5, 15.6); BattleCard cd5 = new BattleCard(15, CardType.SPELL, "tanuki", 5, 7.8); List <BattleCard> expected = new List <BattleCard>() { cd5, cd4 }; //Act RA.Add(cd1); RA.Add(cd3); RA.Add(cd2); RA.Add(cd4); RA.Add(cd5); IEnumerable <BattleCard> battlecards = RA.GetAllInSwagRange(7, 16); List <BattleCard> actual = new List <BattleCard>(); foreach (var b in battlecards) { actual.Add(b); } //Assert CollectionAssert.AreEqual(expected, actual); }
void OnTriggleEnter(Collider other) { BattleCard targetBattleCard = other.GetComponent <BattleCard>(); if (targetBattleCard == targetCard) { } }
/// <summary> /// Init Card View /// </summary> /// <param name="card"></param> public void Init(BattleCard card) { Card = card; _artworkImage.sprite = Card.SourceCard.Artwork; _attackText.text = Card.Attack.ToString(); _healthText.text = Card.Health.ToString(); _defenceText.text = Card.Defence.ToString(); }
private CardBehaviour AddCardToDeck(BattleCard card, string guid) { BattleCardWrapper wrapper = new BattleCardWrapper(card, guid); CardBehaviour cardBehaviour = CardsLayoutManager.Instance.CreateCardIn(wrapper, CardsLayoutManager.SlotType.Nowhere); CardsLayoutManager.Instance.MoveCardTo(cardBehaviour, CardsLayoutManager.SlotType.PlayerDeck, null, true); return(cardBehaviour); }
public BattleCardWrapper(BattleCard card, string guid = "") { Guid = guid; if (Guid == "") { Guid = System.Guid.NewGuid().ToString(); } CardId = card.Id; }
void Awake() { _battleController = GetComponentInParent <BattleControl> (); _originalLocalPosition = transform.localPosition; _battleCard = GetComponent <BattleCard> (); _shellQueue = (_shellType == ShellType.Player) ? _battleController._playerCardShellSet : _battleController._enemyCardShellSet; _vacant = true; _displayed = false; }
public AbilityEntity(int abilityId, string name, BattleCard from, BattleCard to, AbilityType abilityType, EffectCard effectCard, string targetAttr = null) : this() { castCard = from; targetCard = to; this.abilityType = abilityType; this.effectCard = effectCard; this.targetAttr = targetAttr; _id = abilityId; _name = name; }
public void Play(BattleCard card) { this.hand.Transfer(this.battleArea, card); this.match.Controller.UpdatePlayers(this.match); this.match.Controller.UpdatePlayerArea(this); this.match.Controller.UpdateHand(this); this.match.Log(this.username + " played " + card.ToString()); }
/// <summary> /// 进攻或防守完的效果 /// </summary> /// <param name="triggerTime"></param> public void AfterFightCardEffect(BattleCardTriggerTime triggerTime) { if (BattleCard == null || BattleCard.triggerTime != triggerTime) { return; } BattleCard.CardFunc(this); BattleCard = null; }
/// <summary> /// 摇骰子根据卡牌获得的额外收益 /// </summary> /// <param name="triggerTime"></param> /// <returns></returns> public int GetExtraIncreaseByCard(BattleCardTriggerTime triggerTime) { if (BattleCard == null || BattleCard.triggerTime != triggerTime) { return(0); } int result = BattleCard.CardFunc(this); BattleCard = null; return(result); }
/// <summary> /// Init Card View /// </summary> /// <param name="card"></param> public void Init(BattleCard card) { Card = card; NameText.text = Card.SourceCard.name; DescriptionText.text = Card.SourceCard.Description; ArtworkImage.sprite = Card.SourceCard.Artwork; ManaText.text = Card.Mana.ToString(); AttackText.text = Card.Attack.ToString(); HealthText.text = Card.Health.ToString(); DefenceText.text = Card.Defence.ToString(); }
protected bool hasDuplicate(List <BattleCard> cards, BattleCard card) { foreach (Card c in cards) { if (card.GetType() == c.GetType()) { return(true); } } return(false); }
public ActionResult Create([Bind(Include = "PokemonID, QuickAttackID, ChargeAttackID, SourceForm")] CreatePokemonViewModel Pokemon) { if (ModelState.IsValid) { BattleCard bc = new BattleCard(); if (TempData["BattleCard"] != null) { bc = (BattleCard)TempData["BattleCard"]; } Pokemon p = new Pokemon(); p.Poke = db.pokemons.Find(Pokemon.PokemonID); p.QuickAttack = db.attacks.Find(Pokemon.QuickAttackID); p.ChargeAttack = db.attacks.Find(Pokemon.ChargeAttackID); if (Pokemon.SourceForm == 1) { bc.FavPokes.Add(p); } else { bc.GymPokes.Add(p); } TempData["BattleCard"] = bc; return(RedirectToAction("ListPokemon", new { at = Pokemon.SourceForm })); } SelectList po = new SelectList(db.pokemons.OrderBy(x => x.name), "pokemon_id", "name"); //po.Where(x => x.Value == "1").First().Selected = true; //selected.Selected = true; ViewBag.PokemonID = po; IQueryable <attacks> q = (from p in db.pokemons join t in db.pokemons_attacks on p.pokemon_id equals t.pokemon_id join a in db.attacks on t.attack_id equals a.attack_id where p.pokemon_id == Pokemon.PokemonID orderby a.name select a); ViewBag.QuickAttackID = new SelectList(q.Where(x => x.attack_type_id == 1).OrderBy(x => x.name), "attack_id", "name"); ViewBag.ChargeAttackID = new SelectList(q.Where(x => x.attack_type_id == 2).OrderBy(x => x.name), "attack_id", "name"); CreatePokemonViewModel v = new CreatePokemonViewModel(); v.PokemonID = Pokemon.PokemonID; v.SourceForm = Pokemon.SourceForm; v.QuickAttackID = Pokemon.QuickAttackID; v.ChargeAttackID = Pokemon.ChargeAttackID; return(View(v)); }
public void UpdateHpImg() { BattleCard battleCard = BattleManager.Instance.GetCurrentMyFightCard(); foreach (GameObject i in HpImgDic) { if (battleCard.Id == int.Parse(i.name)) { Utility.GameUtility.FindDeepChild <UIImage>(i, "HpNode/Hp").fillAmount = battleCard.HpPercent(); break; } } }
public DebuffAndBuff(int id, string name, bool isDebuff, BattleCard from, BattleCard to, AbilityType abilityType, int duration, PropertyInfo targetProperty) { this.id = id; _name = name; _isDeBuff = isDebuff; _castCard = from; _targetCard = to; _abilityType = abilityType; _duration = duration; _remainTime = duration; _targetProperty = targetProperty; }
public static void ReadSet() { if (!File.Exists (path)) { Debug.Log ("need File!"); return; } try { string _cardSet = File.ReadAllText(path); string[] cardSet = _cardSet.Split('\n'); Dictionary<int, Ability> abilitySet = new Dictionary<int, Ability>(); Dictionary<int, InfoCard> infoCardSet = new Dictionary<int, InfoCard>(); Dictionary<int, BattleCard> battleCardSet = new Dictionary<int, BattleCard>(); string[] tmpNum = cardSet[0].Split(' '); Int32.TryParse(tmpNum[0], out GlobalConfig.itemDataVersion); int abilityNum; int informationNum; int battleNum; Int32.TryParse(tmpNum[1], out abilityNum); Int32.TryParse(tmpNum[2], out informationNum); Int32.TryParse(tmpNum[3], out battleNum); int i = 1; for(; i < abilityNum + 1; i++) { string[] tmp = cardSet[i].Split('\t'); Ability _ability = new Ability(); int number; Int32.TryParse(tmp[0], out number); if(tmp[1].Equals("뱀파이어")) { _ability.jobClass = PlayerJob.VAMPIRE; } else if(tmp[1].Equals("헌터")) { _ability.jobClass = PlayerJob.HUNTER; } _ability.abilityName = tmp[2]; float.TryParse(tmp[3], out _ability.effect); float.TryParse(tmp[4], out _ability.effectFactor); _ability.description = tmp[5]; abilitySet.Add(number, _ability); } for(; i < informationNum + abilityNum + 1; i++) { string[] tmp = cardSet[i].Split('\t'); InfoCard _info = new InfoCard(); int number; Int32.TryParse(tmp[0], out number); _info.cardName = tmp[1]; _info.grade = tmp[2]; float.TryParse(tmp[3], out _info.pickRate); float.TryParse(tmp[4], out _info.cuccessRate); _info.description = tmp[5]; infoCardSet.Add(number, _info); } for(; i < cardSet.Length; i++) { string[] tmp = cardSet[i].Split('\t'); BattleCard _battle = new BattleCard(); int number; Int32.TryParse(tmp[0], out number); _battle.cardName = tmp[1]; _battle.grade = tmp[2]; float.TryParse(tmp[3], out _battle.effect); float.TryParse(tmp[4], out _battle.effectFactor); float.TryParse(tmp[5], out _battle.pickRate); float.TryParse(tmp[6], out _battle.cuccessRate); _battle.description = tmp[7]; battleCardSet.Add(number, _battle); } StructManager.itemSet = new Item(); StructManager.itemSet.SetItem(abilitySet, infoCardSet, battleCardSet); } catch(IOException e) { Debug.Log (e.StackTrace); } catch(Exception e) { Debug.Log (e.Message); Debug.Log (e.StackTrace); } }