private void ChangeDirSign(CardSign up, CardSign down) { ChangeDirSignColor(up, dirSign_up); ChangeDirSignText(up, dirSign_up_text); ChangeDirSignColor(down, dirSign_down); ChangeDirSignText(down, dirSign_down_text); }
private string GetDescriptionOfSign(CardSign sign) { string description = ""; if (sign.type == CardSign.Type.atk) { description += "造成" + card.damage_multiply * (holder.atk + holder.atk_addValue) + "点伤害;" + " "; } if (sign.type == CardSign.Type.dfd) { if (sign.type == CardSign.Type.dfd) { if (sign.subType == CardSign.SubType.dfd_block) { description += "格挡" + holder.dfd + "点伤害;" + " "; } if (sign.subType == CardSign.SubType.dfd_dodge) { description += "闪避;" + " "; } if (sign.subType == CardSign.SubType.dfd_parry) { description += "招架;" + " "; } } } return(description); }
private void ChangeDirSignText(CardSign sign, Text text) { if (sign.intensity <= 0) { text.text = ""; } else { text.text = CardSign.SignTypeName(sign.subType) + sign.intensity; } }
private void ChangeDirSignColor(CardSign sign, GameObject signUI) { if (sign.type == CardSign.Type.atk) { signUI.GetComponent <Image>().color = Color.red; } else if (sign.type == CardSign.Type.dfd) { signUI.GetComponent <Image>().color = Color.green; } else if (sign.type == CardSign.Type.none) { signUI.GetComponent <Image>().color = Color.white; } }
private CardSign GetCardSignByText(Card card, string txt, bool isAtUp) { char[] words = txt.ToCharArray(); // 名称 List <char> name = new List <char>(); // 强度 List <char> value = new List <char>(); for (int i = 0; i < words.Length; i++) { if (words[i] > 47 && words[i] < 58) { value.Add(words[i]); } else { name.Add(words[i]); } } char[] _name = name.ToArray(); string mname = new string(_name); char[] _value = value.ToArray(); CardSign sign = new CardSign(); switch (mname) { case ("劈砍"): sign.subType = CardSign.SubType.atk_chop; sign.type = CardSign.Type.atk; break; case ("突刺"): sign.subType = CardSign.SubType.atk_stab; sign.type = CardSign.Type.atk; break; case ("钝击"): sign.subType = CardSign.SubType.atk_blunt; sign.type = CardSign.Type.atk; break; case ("格挡"): sign.subType = CardSign.SubType.dfd_block; sign.type = CardSign.Type.dfd; break; case ("招架"): sign.subType = CardSign.SubType.dfd_parry; sign.type = CardSign.Type.dfd; break; case ("闪避"): sign.subType = CardSign.SubType.dfd_dodge; sign.type = CardSign.Type.dfd; break; case ("空白"): sign.subType = CardSign.SubType.none; sign.type = CardSign.Type.none; break; } if (_value.Length > 0) { int inten = 0; for (int i = 0; i < _value.Length; i++) { int pow = (int)Mathf.Pow(10, _value.Length - i - 1); inten += (_value[i] - 48) * pow; } sign.intensity = inten; } else { sign.intensity = 0; } sign.pos = isAtUp ? CardSign.Pos.up : CardSign.Pos.down; // 添加标记效果 sign.effect = GetSignEffect(sign.subType); sign.effect.card = card; return(sign); }