public void PlayerUseCard(CardDataObj card) { Vector2 pos = RectTransformUtility.WorldToScreenPoint(Camera.main, card.transform.position); if (RectTransformUtility.RectangleContainsScreenPoint(UseCardRect, pos, Camera.main)) { if (RoundSystem.Instance.UseCard(card, 1)) { PlayerCards.Remove(card.gameObject); } } SortCard(1); }
//玩家使用卡牌 public bool UseCard(CardDataObj card, int role) { if (role == 1 && state != RoundState.PlayerRurn) { return(false); } if (role == 2 && state != RoundState.NpcTurn) { return(false); } RoleProperty self = null; RoleProperty enemy = null; if (state == RoundState.PlayerRurn) { self = PlayerAtt.property; enemy = NPCAtt.property; } else if (state == RoundState.NpcTurn) { self = NPCAtt.property; enemy = PlayerAtt.property; } Debug.Log(card.data.CardName); for (int i = 0; i < card.data.functions.Length; i++) { FunctionData data = card.data.functions[i]; if (data.target == EnumProperty.TargetType.Self || data.target == EnumProperty.TargetType.All) { CaculateSystem.Instance.Caculate(data.type, data.func, ref self, data.Values); } if (data.target == EnumProperty.TargetType.Enemy || data.target == EnumProperty.TargetType.All) { CaculateSystem.Instance.Caculate(data.type, data.func, ref enemy, data.Values); } } EntityCenter.Instance.ReleaseCard(card.gameObject); UIRound round = (UIRound)UIPage.GetPageInstatnce <UIRound>(); UIRoundData[3] = RemainRound; round.UpdateDataShow(); return(true); }