Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        float timer         = (float)Time.time - startTime;
        float countdownTemp = countdown - timer;

        string seconds = (countdownTemp % 60).ToString("00");

        if (countdownTemp > 15.5f)
        {
            timerText.color = Color.white;
        }
        else if (countdownTemp > 5.5f && countdownTemp <= 15.5f)
        {
            timerText.color = orangeColor;
        }
        else
        {
            timerText.color = Color.red;
        }

        if (countdownTemp < 0.0f)
        {
            if (serverData.IsMyTurn())
            {
                gameController.OnTurnTimeEnds();
            }
            Destroy(this.gameObject);
        }

        timerText.text = seconds;
    }
Esempio n. 2
0
    void OnMouseDrag()
    {
        // this.GetComponent<CollidersBehaviour>().isHolding = true;
        if (!serverData.IsMyTurn())
        {
            return;
        }

        //não pode ser movida se já pertencer à mesa
        if (this.transform.IsChildOf(GameObject.FindGameObjectWithTag("Table").transform))
        {
            return;
        }

        if (gameController.isGameFinished)
        {
            return;
        }

        if (Input.GetMouseButtonDown(1))
        {
            this.transform.Rotate(0, 0, 90, Space.Self);
        }


        Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 0);
        Vector3 curPosition    = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;

        transform.position = curPosition;

        if (serverData.isFirst && isDouble && GetComponentInChildren <PieceBehaviour>().value == serverData.biggestGlobalBomb)
        {
            //serverData.PrintText("Click!");
            this.gameObject.transform.SetParent(TableTransform, true);
            this.gameObject.transform.position = new Vector3(0, 0, 0);
            this.gameObject.transform.rotation = new Quaternion(0, 0, 0, 0);

            this.GetComponent <Renderer>().sortingLayerName = "Pieces";

            foreach (Renderer child in this.GetComponentsInChildren <Renderer>())
            {
                child.sortingLayerName = "Pieces";
            }

            serverData.isFirst = false;
            gameController.thisPlayerAmountOfCards--;
            serverData.SetPieceOn(this.gameObject.name, this.gameObject.transform.position, TableTransform.position, this.gameObject.transform.rotation, null, null, true);
            serverData.ValuesToPut(GetComponentInChildren <PieceBehaviour>().value, GetComponentInChildren <PieceBehaviour>().value);

            gameController.OnTurnCompleted();
            //serverData.PrintText("Vai começar o round 2");
            return;
        }
    }
Esempio n. 3
0
    public void OnTurnBegins()
    {
        if (serverData.RoundNumber == 2)
        {
            FirstPlayerTxT.gameObject.SetActive(false);
        }

        serverData.roundNumberTxt.text = "Round: " + serverData.RoundNumber.ToString();

        if (!serverData.IsMyTurn())
        {
            buyButton.gameObject.SetActive(false);
            passButton.gameObject.SetActive(false);
        }
        else
        {
            if (PlayersWhoPassedTurn != null)
            {
                photonView.RPC("GetPiecesLeftPUN", RpcTarget.All, false);

                photonView.RPC("PlayersPassedTurnPUN", RpcTarget.All, PhotonNetwork.NickName, false);
            }

            photonView.RPC("InstantiateTimerPUN", RpcTarget.All);

            if (serverData.RoundNumber != 1)
            {
                chatBehaviour.SendMessageToChat(PhotonNetwork.NickName + " turn.", Message.MessageType.info);
            }

            int aux = 0;

            foreach (DraggablePiece pieces in playerHand.GetComponentsInChildren <DraggablePiece>())
            {
                aux = aux + pieces.ChangeColor();
            }

            if (aux == 0)
            {
                buyButton.gameObject.SetActive(true);
            }
        }
    }