Пример #1
0
    // Start is called before the first frame update
    /// <summary>
    /// Initialize basic piece values, center them
    /// </summary>
    void Start()
    {
        hoverSquareName = "";
        center          = GetComponent <MeshRenderer>().bounds.center;
        square          = FindClosestSquare().GetComponent <ChessSquare>();
        pinToPosition(square.GetComponent <MeshRenderer>().bounds.center);
        square.figure = this;

        pauseMenu    = GameObject.Find("PauseMenu");
        settingsMenu = GameObject.Find("Settings");
    }
Пример #2
0
    /// <summary>
    /// private
    /// </summary>
    private void Update()
    {
        pauseMenu    = GameObject.Find("PauseMenu");
        settingsMenu = GameObject.Find("Settings");

        if (checkPositionAvailable && !GetComponent <DragAndDrop>().dragging)
        {
            if (hoverSquareName != "")
            {
                ////Debug.Log($"{hoverSquareName}, {yPosition},{transform.position.y}");
                if (yPosition == transform.position.y && hoverSquareName != "")
                {
                    if (hoverSquareName == "Border")
                    {
                        goBackToSquare();
                        Debug.Log("Back border2");
                        var boardSquares = GameObject.FindGameObjectsWithTag("Chess Square");
                        foreach (var square in boardSquares)
                        {
                            var sq = square.GetComponent <ChessSquare>();

                            // sq.enPassantPossible = false;
                            sq.availableMove = false;
                            Debug.Log("DELETE4");
                            // sq.enPassantOnStep = false;
                            sq.castling = 0;
                            square.GetComponent <MeshRenderer>().material.color = UnityEngine.Color.white;
                        }
                        hoverSquareName        = "";
                        checkPositionAvailable = false;
                    }
                    else
                    {
                        // //Debug.Log("Hi");
                        var hoverSquare = GameObject.Find(hoverSquareName).GetComponent <MeshRenderer>().bounds.center;
                        if (Vector2.Distance(new Vector2(transform.position.x, transform.position.z), new Vector2(hoverSquare.x, hoverSquare.z)) > 0.5f)
                        {
                            Debug.Log("Go back! no position");
                            goBackToSquare();
                            Debug.Log("Back3");
                            var boardSquares = GameObject.FindGameObjectsWithTag("Chess Square");
                            foreach (var square in boardSquares)
                            {
                                var sq = square.GetComponent <ChessSquare>();

                                // sq.enPassantPossible = false;
                                Debug.Log("DELETE5");
                                sq.availableMove = false;
                                // sq.enPassantOnStep = false;
                                sq.castling = 0;
                                square.GetComponent <MeshRenderer>().material.color = UnityEngine.Color.white;
                            }
                        }
                        hoverSquareName        = "";
                        checkPositionAvailable = false;
                    }
                }
            }
            else
            {
                goBackToSquare();
                Debug.Log("Back2");
                checkPositionAvailable = false;
            }
        }
    }