public void Resolve() { if (playerRoll >= enemyRoll) { GameObject p = Instantiate(particles, enemyPiece.transform.position, Quaternion.identity); if (enemyPiece.pieceColor == "BLACK") { p.GetComponent <ParticleSystem>().startColor = Color.black; } if (enemyPiece.pieceColor == "WHITE") { p.GetComponent <ParticleSystem>().startColor = Color.white; } Destroy(enemyPiece.gameObject); playerPiece.targetTile = enemyPiece.CurrentTile(); playerPiece.isClashing = false; playerPiece.movementValue = 1; } else { GameObject p = Instantiate(particles, playerPiece.transform.position, Quaternion.identity); if (playerPiece.pieceColor == "BLACK") { p.GetComponent <ParticleSystem>().startColor = Color.black; } if (playerPiece.pieceColor == "WHITE") { p.GetComponent <ParticleSystem>().startColor = Color.white; } Destroy(playerPiece.gameObject); enemyPiece.targetTile = playerPiece.CurrentTile(); enemyPiece.movementValue = 1; enemyPiece.jumping = true; if (playerPiece.GetComponent <Outline>() != null) { Destroy(GetComponent <Outline>()); } if (!wc.hasCheckedForVictory) { wc.CheckForVictory(); } } }
public virtual void SetMovement(int value) { movementValue = value; if (dirs[direction].GetComponent <checkAvailability>().available) { if (dirs[direction].GetComponent <checkAvailability>().touchingEnemy&& movementValue > 1) { // this code captures pieces like normal chess, which is boring //targetTile = dirs[direction].GetComponent<checkAvailability>().NearestTile(); //Destroy(dirs[direction].GetComponent<checkAvailability>().enemyPiece.gameObject); //movementValue = 1; //if (GetComponent<Outline>() != null) // Destroy(GetComponent<Outline>()); //if (!tc.coroutineIsRunning) // tc.StartCoroutine(tc.SwitchTurns()); // THIS code captures pieces like dumb bad chess, which is fun as shit cc.playerPiece = this; cc.enemyPiece = dirs[direction].GetComponent <checkAvailability>().enemyPiece.GetComponent <basePiece>(); isClashing = true; cc.EnterClash(); source.PlayOneShot(clashClip); } else { targetTile = dirs[direction].GetComponent <checkAvailability>().NearestTile(); movementValue--; jumping = true; if (movementValue <= 0) { if (GetComponent <Outline>() != null) { Destroy(GetComponent <Outline>()); } jumping = false; if (!wc.hasCheckedForVictory) { wc.CheckForVictory(); } } } } else { movementValue = 0; if (GetComponent <Outline>() != null) { Destroy(GetComponent <Outline>()); } jumping = false; if (!wc.hasCheckedForVictory) { wc.CheckForVictory(); } } }