Esempio n. 1
0
 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;
         }
     }
 }
Esempio n. 2
0
    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;
    }