Example #1
0
    public ActionResult Details(int id)
    {
        FightCard fightCard = context.FightCards.Find(id);

        if (fightCard == null)
        {
            return(this.HttpNotFound());
        }
        return(this.View(fightCard));
    }
Example #2
0
    /// <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();
        }
    }
Example #3
0
    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>();
    }
Example #4
0
    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);
    }
Example #5
0
 //数字从小到大排序
 int sortNumber(FightCard a, FightCard b)
 {
     if (a.GetCardDetail().number < b.GetCardDetail().number)
     {
         return(-1);
     }
     else
     {
         return(0);
     }
 }
Example #6
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));
        }
    }
Example #7
0
    /// <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;
        }
    }
Example #8
0
    /// <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);
        }
    }
Example #9
0
    // Apply fight card effects

    void ApplyFightCardEffect(FightCard votedCard)
    {
        // ...
    }
Example #10
0
 // Add card to fight deck based on Event Card, NPC
 void AddToFightDeck(FightCard newFC)
 {
     fightDeck.Add(newFC);
 }
Example #11
0
 //数字从小到大排序
 int sortNumber(FightCard a, FightCard b)
 {
     if( a.GetCardDetail().number < b.GetCardDetail().number)
     {
         return -1;
     }
     else
     {
         return 0;
     }
 }