/// <summary> /// 离开工坊,结束本次工坊事件 /// </summary> public void LeaveCraft() { craftMode = CraftMode.Default; mUI.EnhanceCraftUI(); ClearChoose(); roomEvent.Finished(); }
/// <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); }); } }
/// <summary> /// 打开工坊面板 /// </summary> /// <param name="mode"></param> public void OpenCraft(CraftMode mode) { craftMode = mode; ClearChoose(); mUI.ShowCraftUI(CharacterInDungeon.Ins.Deck, mode); }