コード例 #1
0
    void UserInput()
    {
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            block.transform.position += Vector3.right;

            if (CheckIsValidPosition())
            {
                tetManager.UpdateMap(block);
            }
            else
            {
                block.transform.position += Vector3.left;
            }
        }
        else if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            block.transform.position += Vector3.left;
            if (CheckIsValidPosition())
            {
                tetManager.UpdateMap(block);
            }
            else
            {
                block.transform.position += Vector3.right;
            }
        }
        else if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            if (block.allowRotation)
            {
                if (block.limitRotation)
                {
                    if (block.transform.eulerAngles.z >= 90)
                    {
                        block.transform.Rotate(0, 0, -90);
                    }
                    else
                    {
                        block.transform.Rotate(0, 0, 90);
                    }
                }
                else
                {
                    block.transform.Rotate(0, 0, 90);
                }

                if (CheckIsValidPosition())
                {
                    tetManager.UpdateMap(block);
                }
                else
                {
                    if (block.limitRotation)
                    {
                        if (block.transform.eulerAngles.z >= 90)
                        {
                            block.transform.Rotate(0, 0, -90);
                        }
                        else
                        {
                            block.transform.Rotate(0, 0, 90);
                        }
                    }
                    else
                    {
                        block.transform.Rotate(0, 0, -90);
                    }
                }
            }
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow) || Time.time - fall >= accel)
        {
            block.transform.position += Vector3.down;

            if (CheckIsValidPosition())
            {
                tetManager.UpdateMap(block);
            }
            else
            {
                block.transform.position += Vector3.up;
                if (tetManager.GameOver(block.transform.position.y))
                {
                    tetManager.gameOver = true;
                    UIManager.Instance.DisplayGameoverText("Lose", new Color(1, 0, 0, 1));
                    NetworkManager.Instance.InformGameOver();
                    return;
                }
                tetManager.DeleteRow();
                tetManager.SpawnNextBlock();


                NetworkManager.Instance.OnUserMapDisplay();
            }
            fall = Time.time;
        }
    }