private void Handler() { _newValue = UnityEngine.Random.Range(1, 11); _property = (CardProperty)UnityEngine.Random.Range(0, 3); StartCoroutine(SetValueToCard(cardCreator.cards, _property, _newValue)); randomProperty.text = "Random property is " + _property.ToString(); randomValue.text = "Random value = " + _newValue.ToString(); }
private IEnumerator SetValueToCard(List <CardView> cards, CardProperty property, int value) { foreach (var cardView in cardCreator.cards) { Debug.Log($"{property}: {value}", cardView); cardView.ChangeValue(property, _newValue); yield return(new WaitForSeconds(4f)); } }
private static void CreateCardData() { CardProperty role = new CardProperty(); string path = EditorUtility.SaveFilePanel("", Application.dataPath + "/", "", "asset"); if (path.Length != 0) { path = "Assets" + path.Replace(Application.dataPath, ""); AssetDatabase.CreateAsset(role, path); } }
public override void Visit(PropertyVisitor visitor, CharacterEnum character, CardProperty property = null) { if (property != null) { base.Visit(visitor, character, property); } else { base.Visit(visitor, character, Effect); } }
public object Clone() { CardProperty outdata = new CardProperty() { id = id, tid = tid, Des = Des, CardName = CardName, functions = (FunctionData[])functions.Clone() }; return(outdata); }
private void ChangeImage() { CardProperty cardProperty = GetComponentInParent <GamePanelBehavior>().ReturnCardProperty(this.gameObject); Sprite currentSprite = gameObject.GetComponent <Image>().sprite; if (currentSprite == cardProperty.BackImage) { gameObject.GetComponent <Image>().sprite = cardProperty.FrontImage; } else { gameObject.GetComponent <Image>().sprite = cardProperty.BackImage; } }
private static void ReadExcelCards() { DataRowCollection collect = ExcelAccess.ReadExcel("Res/Excel/GameData.xlsx", "cards"); for (int i = 2; i < collect.Count; i++) { CardProperty role = new CardProperty { id = int.Parse(collect[i][0].ToString()), tid = int.Parse(collect[i][1].ToString()), CardName = collect[i][2].ToString(), Des = collect[i][3].ToString(), }; List <FunctionData> funcList = new List <FunctionData>(); int N = (collect[i].ItemArray.Length - 4) / 4; for (int j = 0; j < N; j++) { if (collect[i].IsNull(4 + j * 4)) { j = N; break; } FunctionData temp = new FunctionData(); temp.type = (CardType)int.Parse(collect[i][4 + j * 4].ToString()); temp.func = (CardFunc)int.Parse(collect[i][5 + j * 4].ToString()); temp.target = (TargetType)int.Parse(collect[i][6 + j * 4].ToString()); string value = collect[i][7 + j * 4].ToString(); string[] array = value.Split(','); if (array == null || array.Length == 0) { temp.Values = new int[] { int.Parse(value) } } ; else { temp.Values = new int[array.Length]; for (int k = 0; k < array.Length; k++) { temp.Values[k] = int.Parse(array[k]); } } funcList.Add(temp); } role.functions = funcList.ToArray(); AssetDatabase.CreateAsset(role, "Assets/Res/DataAsset/card/card" + role.id + ".asset"); } }
public void UpdateXML(Transform card) { string group = TagController.GetInstance().group.ToString(); string list = TagController.GetInstance().list.ToString(); XmlElement root = xml.DocumentElement; XmlNode node = root.SelectSingleNode(string.Format("/root/{0}/{1}", group, list)); if (node.SelectSingleNode(card.name) == null) { if (card.Find("Control - Simple Checkbox").GetComponent <UIToggle>().value) { XmlElement cardElement = xml.CreateElement(card.name); if (list == "leader") { cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); cardElement.SetAttribute("behavior", card.GetComponent <PlayerLeaderBehavior>().GetType().ToString()); cardElement.SetAttribute("message", card.GetComponent <PlayerLeaderBehavior>().message); } else { cardElement.SetAttribute("total", card.GetComponent <CardPlus>().total.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); } node.AppendChild(cardElement); } } else { XmlNode cardNode = node.SelectSingleNode(card.name); if (card.Find("Control - Simple Checkbox").GetComponent <UIToggle>().value) { if (list != "leader") { cardNode.Attributes["total"].Value = card.GetComponent <CardPlus>().total.ToString(); } } else { node.RemoveChild(cardNode); } } NumberController.GetInstance().Number(); }
private IEnumerator CountValue(CardProperty property, int value) { Text text = FindTextField(property); int startValue = Int32.Parse(text.text); int sign = Math.Sign(value - startValue); int delta = Mathf.Abs(value - startValue); for (int i = startValue; i != value; i += sign) { text.text = i.ToString(); yield return(new WaitForSeconds(4f / delta)); } text.text = value.ToString(); }
// Start is called before the first frame update void Start() { Debug.Log("Game started!"); LoadImages(); for (int i = 0; i < 6; i++) { var instance = Instantiate(CardPrefab, CardPanel.transform); instance.GetComponent <Image>().sprite = _BackImages[0]; var frontimage = GetFrontImage(); CardProperty cardProperty = new CardProperty(instance, _BackImages[0], frontimage); _CardProperties.Add(instance.GetInstanceID(), cardProperty); Debug.Log(cardProperty.ToString()); } context = Context.GetInstance(); }
public bool CreateCardProperty(CardPropCreate model) { using (var ctx = new ApplicationDbContext()) { TemplateProperty tempProp = ctx.TemplateProperties.Find(model.TemplatePropId); var entity = new CardProperty(tempProp) { CardId = model.CardId, Value = model.Value }; ctx.CardProperties.Add(entity); return(ctx.SaveChanges() == 1); } }
private Text FindTextField(CardProperty property) { switch (property) { case CardProperty.Attack: return(attack); case CardProperty.HP: return(hp); case CardProperty.Mana: return(mana); default: return(null); } }
private void PropertyChangedHandler(CardProperty property, int value) { switch (property) { case CardProperty.Attack: _card.attack = value; break; case CardProperty.HP: _card.hp = value; break; case CardProperty.Mana: _card.mana = value; break; default: break; } }
public void Initialize() { obj.SetActive(true); int random = Random.Range(0, 4); UIAtlas totalAtlas = new UIAtlas(); switch (random) { case 0: group = Global.Group.northern; avatar_group.spriteName = "player_faction_northern_realms"; group_label.text = "北方领域"; deck_realms.spriteName = "board_deck_northern_realms"; totalAtlas = GameController.GetInstance().atlas[0]; break; case 1: group = Global.Group.nilfgaardian; avatar_group.spriteName = "player_faction_northern_nilfgaard"; group_label.text = "尼弗迦德"; deck_realms.spriteName = "board_deck_nilfgaard"; totalAtlas = GameController.GetInstance().atlas[1]; break; case 2: group = Global.Group.monster; avatar_group.spriteName = "player_faction_northern_no_mans_land"; group_label.text = "怪兽"; deck_realms.spriteName = "board_deck_no_mans_land"; totalAtlas = GameController.GetInstance().atlas[2]; break; case 3: group = Global.Group.scoiatael; avatar_group.spriteName = "player_faction_scoiatael"; group_label.text = "松鼠党"; deck_realms.spriteName = "board_deck_scoiatael"; totalAtlas = GameController.GetInstance().atlas[3]; break; } XmlDocument xml = new XmlDocument(); xml.Load(Global.enemyPath); XmlElement root = xml.DocumentElement; XmlNode xmlNode = root.SelectSingleNode(string.Format("/root/{0}", group)); int name = 0; XmlNodeList leaderList = xmlNode.SelectSingleNode("leader").ChildNodes; XmlNode leaderNode = leaderList[Random.Range(0, leaderList.Count)]; GameObject leaderObject = LeaderController.GetInstance().obj[1]; UISprite leaderSprite = leaderObject.GetComponent <UISprite>(); leaderSprite.atlas = totalAtlas; leaderSprite.spriteName = leaderNode.Attributes["sprite"].Value; leaderObject.AddComponent(System.Type.GetType(leaderNode.Attributes["behavior"].Value)); XmlNodeList special = xmlNode.SelectSingleNode("special").ChildNodes; foreach (XmlNode cardNode in special) { for (int i = 0; i < int.Parse(cardNode.Attributes["max"].Value); i++) { GameObject cardObject = Instantiate(GameController.GetInstance().cardPerfab, grids[0]); cardObject.name = name.ToString(); name++; UISprite cardSprite = cardObject.GetComponent <UISprite>(); cardSprite.atlas = GameController.GetInstance().atlas[4]; cardSprite.spriteName = cardNode.Attributes["sprite"].Value; CardProperty cardProperty = cardObject.GetComponent <CardProperty>(); cardProperty.line = (Global.Line)System.Enum.Parse(typeof(Global.Line), cardNode.Attributes["line"].Value); cardProperty.effect = (Global.Effect)System.Enum.Parse(typeof(Global.Effect), cardNode.Attributes["effect"].Value); cardProperty.gold = bool.Parse(cardNode.Attributes["gold"].Value); cardProperty.power = int.Parse(cardNode.Attributes["power"].Value); } } XmlNodeList monster = xmlNode.SelectSingleNode("monster").ChildNodes; foreach (XmlNode cardNode in monster) { for (int i = 0; i < int.Parse(cardNode.Attributes["max"].Value); i++) { GameObject cardObject = Instantiate(GameController.GetInstance().cardPerfab, grids[0]); cardObject.name = name.ToString(); name++; UISprite cardSprite = cardObject.GetComponent <UISprite>(); cardSprite.atlas = totalAtlas; cardSprite.spriteName = cardNode.Attributes["sprite"].Value; CardProperty cardProperty = cardObject.GetComponent <CardProperty>(); cardProperty.line = (Global.Line)System.Enum.Parse(typeof(Global.Line), cardNode.Attributes["line"].Value); cardProperty.effect = (Global.Effect)System.Enum.Parse(typeof(Global.Effect), cardNode.Attributes["effect"].Value); cardProperty.gold = bool.Parse(cardNode.Attributes["gold"].Value); cardProperty.power = int.Parse(cardNode.Attributes["power"].Value); } } XmlNodeList neutral = xmlNode.SelectSingleNode("neutral").ChildNodes; foreach (XmlNode cardNode in neutral) { for (int i = 0; i < int.Parse(cardNode.Attributes["max"].Value); i++) { GameObject cardObject = Instantiate(GameController.GetInstance().cardPerfab, grids[0]); cardObject.name = name.ToString(); name++; UISprite cardSprite = cardObject.GetComponent <UISprite>(); cardSprite.atlas = GameController.GetInstance().atlas[4]; cardSprite.spriteName = cardNode.Attributes["sprite"].Value; CardProperty cardProperty = cardObject.GetComponent <CardProperty>(); cardProperty.line = (Global.Line)System.Enum.Parse(typeof(Global.Line), cardNode.Attributes["line"].Value); cardProperty.effect = (Global.Effect)System.Enum.Parse(typeof(Global.Effect), cardNode.Attributes["effect"].Value); cardProperty.gold = bool.Parse(cardNode.Attributes["gold"].Value); cardProperty.power = int.Parse(cardNode.Attributes["power"].Value); } } DrawCards(10); Number(); }
public IEnumerator Play(Transform grid) { bool isTurn = AIController.GetInstance().AITurn(); int index = AIController.GetInstance().AICard(grid); if (LeaderController.GetInstance().obj[1].GetComponent <EnemyLeaderBehavior>().IsEnabled) { LeaderController.GetInstance().obj[1].GetComponent <EnemyLeaderBehavior>().Play(); yield return(PlayOver(LeaderController.GetInstance().obj[1].transform)); CoroutineManager.GetInstance().Finish(); yield break; } if (isTurn || index == -1) { yield return(TurnController.GetInstance().EnemyTurn()); CoroutineManager.GetInstance().Finish(); yield break; } Transform card; try { card = grid.GetChild(index); } catch { card = grid.GetChild(Random.Range(0, grid.childCount)); } CardProperty cardProperty = card.GetComponent <CardProperty>(); switch (cardProperty.effect) { case Global.Effect.spy: card.SetTarget(PlayerController.GetInstance().grids[(int)cardProperty.line + 2]); DrawCards(2); break; case Global.Effect.clear_sky: WeatherController.GetInstance().ClearSky(); card.SetTarget(grids[5]); break; case Global.Effect.frost: if (!WeatherController.GetInstance().weather[0]) { WeatherController.GetInstance().Frost(); card.SetTarget(WeatherController.GetInstance().grid); break; } else { goto default; } case Global.Effect.fog: if (!WeatherController.GetInstance().weather[1]) { WeatherController.GetInstance().Fog(); card.SetTarget(WeatherController.GetInstance().grid); break; } else { goto default; } case Global.Effect.rain: if (!WeatherController.GetInstance().weather[2]) { WeatherController.GetInstance().Rain(); card.SetTarget(WeatherController.GetInstance().grid); break; } else { goto default; } case Global.Effect.nurse: if (grids[5].childCount != 0) { card.SetTarget(grids[(int)cardProperty.line + 2]); yield return(TweenCard.GetInstance().Play(card)); yield return(Play(grids[5])); PlayerController.GetInstance().obj.SetActive(false); obj.SetActive(false); PlayerController.GetInstance().obj.SetActive(true); obj.SetActive(true); yield break; } else { goto default; } case Global.Effect.scorch: int maxPower = 0; for (int i = 2; i < 5; i++) { for (int ii = 0; ii < PlayerController.GetInstance().grids[i].childCount; ii++) { int power = PlayerController.GetInstance().grids[i].GetChild(ii).GetComponent <CardBehavior>().totalPower; if (power > maxPower) { maxPower = power; } } } for (int i = 2; i < 5; i++) { for (int ii = 0; ii < grids[i].childCount; ii++) { int power = grids[i].GetChild(ii).GetComponent <CardBehavior>().totalPower; if (power > maxPower) { maxPower = power; } } } for (int i = 2; i < 5; i++) { for (int ii = PlayerController.GetInstance().grids[i].childCount - 1; ii >= 0; ii--) { Transform scorchCard = PlayerController.GetInstance().grids[i].GetChild(ii); if (scorchCard.GetComponent <CardBehavior>().totalPower == maxPower && !scorchCard.GetComponent <CardProperty>().gold) { scorchCard.SetTarget(PlayerController.GetInstance().grids[5]); } } } for (int i = 2; i < 5; i++) { for (int ii = grids[i].childCount - 1; ii >= 0; ii--) { Transform scorchCard = grids[i].GetChild(ii); if (scorchCard.GetComponent <CardBehavior>().totalPower == maxPower && !scorchCard.GetComponent <CardProperty>().gold) { scorchCard.SetTarget(grids[5]); } } } goto default; case Global.Effect.dummy: if (grids[2].childCount == 0 && grids[3].childCount == 0 && grids[4].childCount == 0) { card.SetTarget(grids[5]); break; } int dummyGrid = 0; int dummyIndex = 0; for (int i = 2; i < 5; i++) { for (int ii = 0; ii < grids[i].childCount; ii++) { if (grids[i].GetChild(ii).GetComponent <CardProperty>().effect == Global.Effect.spy || grids[i].GetChild(ii).GetComponent <CardProperty>().effect == Global.Effect.nurse || grids[i].GetChild(ii).GetComponent <CardProperty>().effect == Global.Effect.scorch || grids[i].GetChild(ii).GetComponent <CardProperty>().effect == Global.Effect.warhorn) { dummyGrid = i; dummyIndex = ii; } } } card.SetTarget(grids[dummyGrid]); grids[dummyGrid].GetChild(dummyIndex).SetTarget(grid); break; case Global.Effect.warhorn: if (cardProperty.line == Global.Line.empty) { if (grids[2].childCount == 0 && grids[3].childCount == 0 && grids[4].childCount == 0) { card.SetTarget(grids[5]); break; } int line = 0; int maxCount = 0; for (int i = 2; i < 5; i++) { if (grids[i].childCount >= maxCount && !WarhornController.GetInstance().enemyWarhorn[i - 2]) { line = i - 2; maxCount = grids[i].childCount; } } WarhornController.GetInstance().enemyWarhorn[line] = true; card.SetTarget(WarhornController.GetInstance().enemyGrids[line]); break; } else { WarhornController.GetInstance().enemyWarhorn[(int)cardProperty.line] = true; goto default; } case Global.Effect.muster: int musterIndex = 0; for (int i = 0; i < MusterController.GetInstance().musterCards.Length; i++) { for (int ii = 0; ii < MusterController.GetInstance().musterCards[i].Length; ii++) { if (grid.GetChild(index).GetComponent <UISprite>().spriteName == MusterController.GetInstance().musterCards[i][ii]) { musterIndex = i; } } } for (int i = 0; i < MusterController.GetInstance().musterCards[musterIndex].Length; i++) { for (int ii = grids[0].childCount - 1; ii >= 0; ii--) { Transform musterCard = grids[0].GetChild(ii); if (musterCard.GetComponent <UISprite>().spriteName == MusterController.GetInstance().musterCards[musterIndex][i]) { musterCard.SetTarget(grids[(int)musterCard.GetComponent <CardProperty>().line + 2]); } } } goto default; case Global.Effect.agile: int agileIndex = 0; for (int i = 0; i < 2; i++) { if (!WeatherController.GetInstance().weather[i]) { agileIndex = i; } } card.SetTarget(grids[agileIndex + 2]); break; default: card.SetTarget(grids[(int)cardProperty.line + 2]); break; } yield return(PlayOver(card)); CoroutineManager.GetInstance().Finish(); }
internal Sprite GetCurrentSprite() { CardProperty cardProperty = GetComponentInParent <GamePanelBehavior>().ReturnCardProperty(this.gameObject); return(gameObject.GetComponent <Image>().sprite); }
CardProperty CloneCard(CardProperty old) { CardProperty newcard = (CardProperty)old.Clone(); return(newcard); }
public void ChangeValue(CardProperty property, int value) { OnPropertyChanged?.Invoke(property, value); StartCoroutine(CountValue(property, value)); }
public Dragon(CardType cardType, ElementType element, int cardDamage, string cardName, CardProperty cardProperty, int cardId) : base(cardType, element, cardDamage, cardName, cardProperty, cardId) { }
// Use this for initialization void Start() { if (!File.Exists(Global.enemyPath)) { XmlDocument xml = new XmlDocument(); XmlElement root = xml.CreateElement("root"); XmlElement northern = xml.CreateElement("northern"); Transform groupTransform = TagController.GetInstance().groups[0].transform; XmlElement leader1 = xml.CreateElement("leader"); Transform leader1Transform = groupTransform.Find("leader"); for (int i = 0; i < leader1Transform.childCount; i++) { Transform card = leader1Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); cardElement.SetAttribute("behavior", card.GetComponent <EnemyLeaderBehavior>().GetType().ToString()); leader1.AppendChild(cardElement); } XmlElement special1 = xml.CreateElement("special"); Transform special1Transform = groupTransform.Find("special"); for (int i = 0; i < special1Transform.childCount; i++) { Transform card = special1Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); special1.AppendChild(cardElement); } XmlElement monster1 = xml.CreateElement("monster"); Transform monster1Transform = groupTransform.Find("monster"); for (int i = 0; i < monster1Transform.childCount; i++) { Transform card = monster1Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); monster1.AppendChild(cardElement); } XmlElement neutral1 = xml.CreateElement("neutral"); Transform neutral1Transform = groupTransform.Find("neutral"); for (int i = 0; i < neutral1Transform.childCount; i++) { Transform card = neutral1Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); neutral1.AppendChild(cardElement); } northern.AppendChild(leader1); northern.AppendChild(special1); northern.AppendChild(monster1); northern.AppendChild(neutral1); XmlElement nilfgaardian = xml.CreateElement("nilfgaardian"); groupTransform = TagController.GetInstance().groups[1].transform; XmlElement leader2 = xml.CreateElement("leader"); Transform leader2Transform = groupTransform.Find("leader"); for (int i = 0; i < leader2Transform.childCount; i++) { Transform card = leader2Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); cardElement.SetAttribute("behavior", card.GetComponent <EnemyLeaderBehavior>().GetType().ToString()); leader2.AppendChild(cardElement); } XmlElement special2 = xml.CreateElement("special"); Transform special2Transform = groupTransform.Find("special"); for (int i = 0; i < special2Transform.childCount; i++) { Transform card = special2Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); special2.AppendChild(cardElement); } XmlElement monster2 = xml.CreateElement("monster"); Transform monster2Transform = groupTransform.Find("monster"); for (int i = 0; i < monster2Transform.childCount; i++) { Transform card = monster2Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); monster2.AppendChild(cardElement); } XmlElement neutral2 = xml.CreateElement("neutral"); Transform neutral2Transform = groupTransform.Find("neutral"); for (int i = 0; i < neutral2Transform.childCount; i++) { Transform card = neutral2Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); neutral2.AppendChild(cardElement); } nilfgaardian.AppendChild(leader2); nilfgaardian.AppendChild(special2); nilfgaardian.AppendChild(monster2); nilfgaardian.AppendChild(neutral2); XmlElement monster = xml.CreateElement("monster"); groupTransform = TagController.GetInstance().groups[2].transform; XmlElement leader3 = xml.CreateElement("leader"); Transform leader3Transform = groupTransform.Find("leader"); for (int i = 0; i < leader3Transform.childCount; i++) { Transform card = leader3Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); cardElement.SetAttribute("behavior", card.GetComponent <EnemyLeaderBehavior>().GetType().ToString()); leader3.AppendChild(cardElement); } XmlElement special3 = xml.CreateElement("special"); Transform special3Transform = groupTransform.Find("special"); for (int i = 0; i < special3Transform.childCount; i++) { Transform card = special3Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); special3.AppendChild(cardElement); } XmlElement monster3 = xml.CreateElement("monster"); Transform monster3Transform = groupTransform.Find("monster"); for (int i = 0; i < monster3Transform.childCount; i++) { Transform card = monster3Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); monster3.AppendChild(cardElement); } XmlElement neutral3 = xml.CreateElement("neutral"); Transform neutral3Transform = groupTransform.Find("neutral"); for (int i = 0; i < neutral3Transform.childCount; i++) { Transform card = neutral3Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); neutral3.AppendChild(cardElement); } monster.AppendChild(leader3); monster.AppendChild(special3); monster.AppendChild(monster3); monster.AppendChild(neutral3); XmlElement scoiatael = xml.CreateElement("scoiatael"); groupTransform = TagController.GetInstance().groups[3].transform; XmlElement leader4 = xml.CreateElement("leader"); Transform leader4Transform = groupTransform.Find("leader"); for (int i = 0; i < leader4Transform.childCount; i++) { Transform card = leader4Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); cardElement.SetAttribute("behavior", card.GetComponent <EnemyLeaderBehavior>().GetType().ToString()); leader4.AppendChild(cardElement); } XmlElement special4 = xml.CreateElement("special"); Transform special4Transform = groupTransform.Find("special"); for (int i = 0; i < special4Transform.childCount; i++) { Transform card = special4Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); special4.AppendChild(cardElement); } XmlElement monster4 = xml.CreateElement("monster"); Transform monster4Transform = groupTransform.Find("monster"); for (int i = 0; i < monster4Transform.childCount; i++) { Transform card = monster4Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); monster4.AppendChild(cardElement); } XmlElement neutral4 = xml.CreateElement("neutral"); Transform neutral4Transform = groupTransform.Find("neutral"); for (int i = 0; i < neutral4Transform.childCount; i++) { Transform card = neutral4Transform.GetChild(i); XmlElement cardElement = xml.CreateElement(card.name); cardElement.SetAttribute("max", card.GetComponent <CardPlus>().max.ToString()); cardElement.SetAttribute("sprite", card.GetComponent <UISprite>().spriteName); CardProperty cardProperty = card.GetComponent <CardProperty>(); cardElement.SetAttribute("line", cardProperty.line.ToString()); cardElement.SetAttribute("effect", cardProperty.effect.ToString()); cardElement.SetAttribute("gold", cardProperty.gold.ToString()); cardElement.SetAttribute("power", cardProperty.power.ToString()); neutral4.AppendChild(cardElement); } scoiatael.AppendChild(leader4); scoiatael.AppendChild(special4); scoiatael.AppendChild(monster4); scoiatael.AppendChild(neutral4); root.AppendChild(northern); root.AppendChild(nilfgaardian); root.AppendChild(monster); root.AppendChild(scoiatael); xml.AppendChild(root); xml.Save(Global.enemyPath); } }
protected BaseCards(CardType cardType, ElementType element, int cardDamage, string cardName, CardProperty cardProperty, int cardId) { this.CardType = cardType; this.Element = element; this.CardProperty = cardProperty; this.CardDamage = cardDamage; this.CardName = cardName; this.CardId = cardId; }
public void CreateCardsForTable() { string cn = ""; CardProperty cp = CardProperty.Dragon; CardType ct = CardType.Monster; ElementType et = ElementType.Fire; int cd = 100; for (int i = 0; i < 7; i++) { if (cp == CardProperty.Dragon) { cn = "Drache oder so"; } else if (cp == CardProperty.Knight) { cn = "Knight in the Night, just Right"; } else if (cp == CardProperty.Ork) { cn = "Ich bin Orrg und du?"; } else if (cp == CardProperty.Wizard) { cn = "Ich bin ein Witz art"; } else if (cp == CardProperty.Goblin) { cn = "Gobster the Robster"; } else if (cp == CardProperty.Kraken) { cn = "Krakie dakie do whatcha gonna do"; } else if (cp == CardProperty.FireElve) { cn = "I am Fry the FireFly"; } for (int j = 0; j < 3; j++) { for (int k = 0; k < 10; k++) { var cmd = new NpgsqlCommand("INSERT INTO cards (cardtype, elementtype, carddamage, cardname, cardproperty) VALUES (@ct, @et, @cd, @cn, @cp)", _conn); cmd.Parameters.AddWithValue("ct", Convert.ToInt32(ct)); cmd.Parameters.AddWithValue("et", Convert.ToInt32(et)); cmd.Parameters.AddWithValue("cd", cd); cmd.Parameters.AddWithValue("cn", cn); cmd.Parameters.AddWithValue("cp", Convert.ToInt32(cp)); cmd.Prepare(); cmd.ExecuteNonQuery(); cd += 10; } cd = 100; et++; } cp++; } et = ElementType.Fire; ct = CardType.Spell; for (int i = 0; i < 3; i++) { if (et == ElementType.Fire) { cn = "Fire Spell"; } else if (et == ElementType.Normal) { cn = "Normal Spell"; } else if (et == ElementType.Water) { cn = "Water Spell"; } for (int j = 0; j < 10; j++) { var cmd = new NpgsqlCommand("INSERT INTO cards (cardtype, elementtype, carddamage, cardname) VALUES (@ct, @et, @cd, @cn)", _conn); cmd.Parameters.AddWithValue("ct", Convert.ToInt32(ct)); cmd.Parameters.AddWithValue("et", Convert.ToInt32(et)); cmd.Parameters.AddWithValue("cd", cd); cmd.Parameters.AddWithValue("cn", cn); cmd.Prepare(); cmd.ExecuteNonQuery(); cd += 10; } cd = 100; et++; } }
public void Number() { player = new int[3] { 0, 0, 0 }; enemy = new int[3] { 0, 0, 0 }; int[] player_improve_neighbours = { 0, 0, 0 }; int[] enemy_improve_neighbours = { 0, 0, 0 }; Dictionary <string, int> player_same_type_morale = new Dictionary <string, int>(); Dictionary <string, int> enemy_same_type_morale = new Dictionary <string, int>(); for (int i = 2; i < 5; i++) { for (int ii = 0; ii < PlayerController.GetInstance().grids[i].childCount; ii++) { CardProperty cardProperty = PlayerController.GetInstance().grids[i].GetChild(ii).GetComponent <CardProperty>(); switch (cardProperty.effect) { case Global.Effect.improve_neighbours: player_improve_neighbours[i - 2]++; break; case Global.Effect.same_type_morale: string spriteName = cardProperty.GetComponent <UISprite>().spriteName; if (!player_same_type_morale.ContainsKey(spriteName)) { player_same_type_morale.Add(spriteName, 1); } else { int value = player_same_type_morale[spriteName]; value++; player_same_type_morale[spriteName] = value; } break; } } } for (int i = 2; i < 5; i++) { for (int ii = 0; ii < EnemyController.GetInstance().grids[i].childCount; ii++) { CardProperty cardProperty = EnemyController.GetInstance().grids[i].GetChild(ii).GetComponent <CardProperty>(); switch (cardProperty.effect) { case Global.Effect.improve_neighbours: enemy_improve_neighbours[i - 2]++; break; case Global.Effect.same_type_morale: string spriteName = cardProperty.GetComponent <UISprite>().spriteName; if (!enemy_same_type_morale.ContainsKey(spriteName)) { enemy_same_type_morale.Add(spriteName, 1); } else { int value = enemy_same_type_morale[spriteName]; value++; enemy_same_type_morale[spriteName] = value; } break; } } } for (int i = 2; i < 5; i++) { for (int ii = 0; ii < PlayerController.GetInstance().grids[i].childCount; ii++) { Transform card = PlayerController.GetInstance().grids[i].GetChild(ii); CardProperty cardProperty = card.GetComponent <CardProperty>(); int power = cardProperty.power; if (!cardProperty.gold) { if (WeatherController.GetInstance().weather[i - 2]) { power = 1; } string spriteName = card.GetComponent <UISprite>().spriteName; if (player_same_type_morale.ContainsKey(spriteName)) { power *= player_same_type_morale[spriteName]; } if (cardProperty.effect != Global.Effect.improve_neighbours) { power += player_improve_neighbours[i - 2]; } if (WarhornController.GetInstance().playerWarhorn[i - 2]) { power *= 2; } } card.GetComponent <CardBehavior>().totalPower = power; player[i - 2] += power; } } for (int i = 2; i < 5; i++) { for (int ii = 0; ii < EnemyController.GetInstance().grids[i].childCount; ii++) { Transform card = EnemyController.GetInstance().grids[i].GetChild(ii); CardProperty cardProperty = card.GetComponent <CardProperty>(); int power = cardProperty.power; if (!cardProperty.gold) { if (WeatherController.GetInstance().weather[i - 2]) { power = 1; } string spriteName = card.GetComponent <UISprite>().spriteName; if (enemy_same_type_morale.ContainsKey(spriteName)) { power *= enemy_same_type_morale[spriteName]; } if (cardProperty.effect != Global.Effect.improve_neighbours) { power += enemy_improve_neighbours[i - 2]; } if (WarhornController.GetInstance().enemyWarhorn[i - 2]) { power *= 2; } } card.GetComponent <CardBehavior>().totalPower = power; enemy[i - 2] += power; } } for (int i = 0; i < 3; i++) { player_power_label[i].text = player[i].ToString(); enemy_power_label[i].text = enemy[i].ToString(); } player_total = player[0] + player[1] + player[2]; enemy_total = enemy[0] + enemy[1] + enemy[2]; player_power_label[3].text = player_total.ToString(); enemy_power_label[3].text = enemy_total.ToString(); if (player_total > enemy_total) { player_winner_indicator.gameObject.SetActive(true); enemy_winner_indicator.gameObject.SetActive(false); } else if (player_total < enemy_total) { player_winner_indicator.gameObject.SetActive(false); enemy_winner_indicator.gameObject.SetActive(true); } else if (player_total == enemy_total) { player_winner_indicator.gameObject.SetActive(true); enemy_winner_indicator.gameObject.SetActive(true); } }
private void Awake() { cardProperty = GetComponent <CardProperty>(); }
set => SetValue(CardProperty, value);