public ActionResult Details(int id) { FightCard fightCard = context.FightCards.Find(id); if (fightCard == null) { return(this.HttpNotFound()); } return(this.View(fightCard)); }
/// <summary> /// 执行攻击 /// </summary> /// <returns></returns> override public IEnumerator DoAtk() { //foreach (KeyValuePair<int, GameObject> item in dicCardObj) //{ // FightCard vFightCard = item.Value.GetComponent<FightCard>(); // if (vFightCard.postionState == FightCard.PostionState.choice) // { // } //} List <int> canAtkCardList = new List <int>(); List <FightCard> list = new List <FightCard>(); int numberSum = 0; foreach (KeyValuePair <int, GameObject> item in dicCardObj) { FightCard vFightCard = item.Value.GetComponent <FightCard>(); if (vFightCard.postionState == FightCard.PostionState.choice) { list.Add(vFightCard); FightAtkAnim atkAnim = item.Value.GetComponent <FightAtkAnim>(); atkAnim.PlayAtk(canAtkCardList.Count * atkSpaceTime); canAtkCardList.Add(vFightCard.GetCardDetail().id); if (!listSpcaePos.ContainsKey(vFightCard.pos)) { listSpcaePos.Add(vFightCard.pos, vFightCard.pos); this.listFightCard.Remove(vFightCard); numberSum = numberSum + vFightCard.GetCardDetail().number; } } } lastFightData.CalculationType(list, numberSum); if (canAtkCardList.Count == 0) { MsgPrompts.create("未选择一张卡片"); } else { for (int i = 0; i < canAtkCardList.Count; ++i) { this.dicCardObj.Remove(canAtkCardList[i]); } yield return(new WaitForSeconds(canAtkCardList.Count * atkSpaceTime + 1)); this.Licensing(); yield return(new WaitForSeconds(canAtkCardList.Count * atkSpaceTime + 1)); this.fightState.Waiver(); } }
public override void Init() { //Debug.Log("Battle init..."); #region 水晶显示相关数据初始化 Text[] txts = transform.GetComponentsInChildren <Text>(); foreach (Text item in txts) { //Debug.Log(item.gameObject.name); if (item.transform.parent.name == "imgHeadPortraitHeroPlayer") { txtPlayerCrystal = item; } else if (item.transform.parent.name == "imgHeadPortraitHeroEnemy") { txtEnemyCrystal = item; } } crystalLst = transform.GetComponentInChildren <GridLayoutGroup>(); currentCrystalBright = 0; currentCrystalDark = 0; RefreshUI(); #endregion #region 操作记录数据初始化 operatingRecord = transform.Find("OperatingRecord").gameObject; time = 0.1f; xDistance = 400; yDistance = 70; enterPos = new Vector3(-400, 175, 0); outPos = new Vector3(-400, -175, 0); #endregion #region 回合结束按钮数据初始化 btnTurn = transform.Find("btnTurn").GetComponent <Button>(); txtTurn = btnTurn.GetComponentInChildren <Text>(); txtTurn.text = "结束回合"; txtTurn.color = new Color(0, 1, 0, 1); //GameManager.instance.isPlayerTurn = true; btnTurn.interactable = true; #endregion resSvc = ResSvc.instance; imgRope = transform.Find("imgRope").GetComponent <Image>(); imgRope.color = new Color(1, 1, 1, 0); handCardManager = transform.GetComponentInChildren <ArrangeCard>(); handCardManager.Init(); fightCard = transform.Find("FightCardArea").GetComponent <FightCard>(); }
IEnumerator DestroyCard(GameObject vObj) { mainPanel.transform.DOShakePosition(0.2f, 30, 20, 180); FightCard fightCard = vObj.GetComponent <FightCard>(); int hp = fightCard.GetHurt(); this.fightEnemyCard.subHp(hp); yield return(new WaitForSeconds(0.1f)); GameObject.DestroyObject(vObj); }
//数字从小到大排序 int sortNumber(FightCard a, FightCard b) { if (a.GetCardDetail().number < b.GetCardDetail().number) { return(-1); } else { return(0); } }
/// <summary> /// 表现的卡牌位置排序 /// </summary> public void sortCardGameObject() { this.listFightCard.Sort(sortNumber); for (int i = 0; i < this.listFightCard.Count; ++i) { listFightCard[i].pos = i; FightCard fightCard = this.listFightCard[i]; int cardId = fightCard.GetCardDetail().id; GameObject obj = this.dicCardObj[cardId]; FightCard vFightCard = obj.GetComponent <FightCard>(); vFightCard.pos = i; //卡牌动画 FightCardAnim cardAnim = obj.GetComponent <FightCardAnim>(); cardAnim.PlayTo(this.fightCardTransfrom.GetPos(i)); } }
/// <summary> /// 卡牌点击事件响应 /// </summary> /// <param name="obj"></param> /// <param name="vFightCardState"></param> void EveCard(GameObject vObj) { FightCard vFightCard = vObj.GetComponent <FightCard>(); FightCardAnim vAnim = vObj.GetComponent <FightCardAnim>(); if (vFightCard.postionState == FightCard.PostionState.Unchecked) { vAnim.PlayToWait(); vFightCard.postionState = FightCard.PostionState.choice; return; } else { vAnim.PlayToInitPos(); vFightCard.postionState = FightCard.PostionState.Unchecked; return; } }
/// <summary> /// 创建战斗卡牌 /// </summary> /// <param name="vCardId"></param> override public void CreateCard(int vPos, float vPlayingTime) { if (this.listSpcaePos.ContainsKey(vPos)) { //从牌库中获取卡牌id int cardId = this.fightData.RandCard(); //卡牌对象 GameObject CardObj = GameObject.Instantiate(CardPrefabs) as GameObject; CardObj.transform.name = "mineCard"; //设置卡牌对象上的数据 FightCard fightCard = CardObj.GetComponent <FightCard>(); fightCard.pos = vPos; CardDetail cardDetail = ConfigDatas.Inst.card.GetCardDetail(cardId); fightCard.SetCardDetail(cardDetail); this.listFightCard.Add(fightCard); //设置卡牌UI数据 CardPrefabsCtr cardPrefabsCtr = CardObj.GetComponent <CardPrefabsCtr>(); cardPrefabsCtr.SetCard(cardDetail); //设置卡牌位置 fightCardTransfrom.SetTransform(CardObj.transform, vPos); //设置攻击位置 FightAtkAnim atkAnim = CardObj.GetComponent <FightAtkAnim>(); atkAnim.SetTragetPos(targetTransform.position); //卡牌动画 FightCardAnim cardAnim = CardObj.GetComponent <FightCardAnim>(); StartCoroutine(cardAnim.Licensing(vPlayingTime)); Button btn = CardObj.transform.GetComponent <Button>(); btn.onClick.AddListener(delegate() { EveCard(CardObj); }); dicCardObj.Add(cardId, CardObj); } }
// Apply fight card effects void ApplyFightCardEffect(FightCard votedCard) { // ... }
// Add card to fight deck based on Event Card, NPC void AddToFightDeck(FightCard newFC) { fightDeck.Add(newFC); }
//数字从小到大排序 int sortNumber(FightCard a, FightCard b) { if( a.GetCardDetail().number < b.GetCardDetail().number) { return -1; } else { return 0; } }