private void spellCheck() { for (int i = spelledPieces.Count - 1; i >= 0; i--) { spelledPiece sp = spelledPieces[i]; if (sp.spellName == "Upgrade") { if (sp.endSpellTurn == turnCount) { foreach (ChessPieces cs in chessMen) { if (cs != null && cs.id == sp.newID) { activeChessmen.Remove(cs.gameObject); spawnChessman(sp.pieceType, cs.currentX, cs.currentY); Destroy(cs.gameObject); spelledPieces.Remove(sp); break; } } } else if (sp.endSpellTurn == turnCount + 2) { Destroy(tempSpellObjects[sp.x, sp.y].GetComponent <Cooldown>()); Destroy(tempSpellObjects[sp.x, sp.y].transform.GetChild(1).gameObject); chessMen[sp.x, sp.y] = tempSpellObjects[sp.x, sp.y].GetComponent <ChessPieces>(); chessMen[sp.x, sp.y].setPosition(sp.x, sp.y); tempSpellObjects[sp.x, sp.y] = null; } } else if (sp.spellName == "Stun") { if (sp.endSpellTurn == turnCount) { Destroy(chessMen[sp.x, sp.y].gameObject.GetComponent <Cooldown>()); chessMen[sp.x, sp.y].gameObject.GetComponent <ChessPieces>().enabled = true; chessMen[sp.x, sp.y] = chessMen[sp.x, sp.y].gameObject.GetComponent <ChessPieces>(); tempSpellObjects[sp.x, sp.y] = null; } } else if (sp.spellName == "Cover") { chessMen[sp.x, sp.y].isItWhite = isWhiteTurn; } } }
public void actionSpell(string spellName, int x, int y) { spelledPiece sp = new spelledPiece(); sp.spellName = spellName; sp.newID = pieceID; if (spellName == "Upgrade") { selectedPiece = chessMen[x, y]; string type = selectedPiece.GetType().ToString(); switch (type) { case "Queen": sp.pieceType = 1; break; case "Rook": sp.pieceType = 2; break; case "Bishop": sp.pieceType = 3; break; case "Knight": sp.pieceType = 4; break; case "Pawn": sp.pieceType = 5; break; } if (!selectedPiece.isItWhite) { sp.pieceType += 6; } sp.endSpellTurn = turnCount + 4; activeChessmen.Remove(selectedPiece.gameObject); Destroy(selectedPiece.gameObject); } else if (spellName == "Stun") { chessMen[x, y].enabled = false; sp.endSpellTurn = turnCount + 3; } else if (spellName == "Cover") { sp.endSpellTurn = turnCount + 6; } spawnSpellMan(spellName, x, y); sp.x = x; sp.y = y; spelledPieces.Add(sp); BoardHighlights.Instance.hideHighlights(); isSpellMove = false; }