Exemplo n.º 1
0
 /// <summary>
 /// 离开工坊,结束本次工坊事件
 /// </summary>
 public void LeaveCraft()
 {
     craftMode = CraftMode.Default;
     mUI.EnhanceCraftUI();
     ClearChoose();
     roomEvent.Finished();
 }
Exemplo n.º 2
0
    /// <summary>
    /// 根据模式显示工坊界面
    /// 模式1-升级模式:
    /// 卡牌上挂载的事件为【点击后显示该牌的可升级选项】
    ///
    /// 模式2-换色模式
    /// 卡牌上挂载的事件为【点击后显示该牌的可换色选项】
    ///
    /// 模式3-丢牌模式
    /// 卡牌上挂载的事件为【将该牌选中】
    /// 界面中有确定按钮,按钮事件只有在有选中的牌的情况下才可触发【将该牌弃置】
    ///
    /// 模式4-详情模式
    /// 卡牌上挂载的事件为【将该牌放大居中显示】
    /// </summary>
    /// <param name="cardContents">卡牌列表</param>
    /// <param name="mode">模式</param>
    public void ShowCraftUI(List <CardContent> cardContents, CraftMode mode)
    {
        //设置各界面的显示关系
        gameObject.SetActive(true);
        UpgradePanel.SetActive(false);
        CloseBtn.GetComponent <ButtonEffect>().ResetFillBg();
        DataChipCount.text = DungeonManager.Ins.dataFrag.count + "";
        //清空列表上的内容
        foreach (Transform tf in CardChooseGroup.transform)
        {
            Destroy(tf.gameObject);
        }
        //根据模式为卡牌挂载不同的事件
        foreach (CardContent cc in cardContents)
        {
            int myLevel = 0;
            switch (cc.cardType)
            {
            case CardType.攻撃:
                myLevel = CharacterInDungeon.Ins.Force.currentLv;
                break;

            case CardType.防御:
                myLevel = CharacterInDungeon.Ins.Agile.currentLv;
                break;

            case CardType.技能:
                myLevel = CharacterInDungeon.Ins.Constitution.currentLv;
                break;

            case CardType.呪い:
                myLevel = CharacterInDungeon.Ins.Fortune.currentLv;
                break;
            }
            if (cc.needAttrLevel > myLevel)
            {
                return;
            }
            //if (cc.owner.upgradeList.Count == 0) return;
            GameObject go = Instantiate(CardPrefab, CardChooseGroup.transform);
            go.GetComponent <CraftableCardUI>().SetCard(cc);
            go.GetComponent <Button>().onClick.AddListener(delegate()
            {
                CraftManager.Ins.SetSelectedCard(cc);
                ShowUpgradeList(cc);
            });
        }
    }
Exemplo n.º 3
0
 /// <summary>
 /// 打开工坊面板
 /// </summary>
 /// <param name="mode"></param>
 public void OpenCraft(CraftMode mode)
 {
     craftMode = mode;
     ClearChoose();
     mUI.ShowCraftUI(CharacterInDungeon.Ins.Deck, mode);
 }