Beispiel #1
0
        public void RemovePowerUp(int qtd, int i = -1)
        {
            if (powerUps.Count == 0)
            {
                return;
            }

            if (i < 0)
            {
                i = GerenciadorPartida.Turno;
            }
            Inventario inv = GerenciadorPartida.OrdemJogadores[i].GetComponent <Inventario>();

            Transform pnlDescricao = TabuleiroHUD.PnlsDescricoes[i];

            bool pnlActive = pnlDescricao.gameObject.activeSelf;

            pnlDescricao.gameObject.SetActive(true);

            pnlDescricao = pnlDescricao.GetChild(powerUps.Count - 1);

            if (qtd <= inv.powerUps.Count)
            {
                for (int j = qtd; j >= 0; j--)
                {
                    inv.powerUps.RemoveAt(j);
                    pnlDescricao.Find("titulo").GetComponentInChildren <Text>().text   = "";
                    pnlDescricao.Find("conteudo").GetComponentInChildren <Text>().text = "nenhum melhoramento";
                }

                TabuleiroHUD.FundoPowerUps(TabuleiroHUD.corOff, powerUps.Count - 1, i);
            }

            pnlDescricao.gameObject.SetActive(pnlActive);
        }
Beispiel #2
0
        public void NovaRodada()
        {
            //if (!autoridade)
            //    return;

            TabuleiroHUD.FundoJogador(TabuleiroHUD.corOff);

            //Aumenta turno
            Turno = ++Turno % OrdemJogadores.Count;

            //Altera jogador atual
            MovAtual = OrdemJogadores[Turno].GetComponent <Movimentacao>();
            InvAtual = OrdemJogadores[Turno].GetComponent <Inventario>();

            TabuleiroHUD.FundoJogador(TabuleiroHUD.corOn);

            //Jogador atual joga caso não esteja preso
            if (InvAtual.rodadasPreso > 0)
            {
                Debug.Log("StartCoroutine(diminuiRodadasPreso(1f, 3f))");
                StartCoroutine(diminuiRodadasPreso(1f, 3f));
            }
            else
            {
                Debug.Log("estadoUICarta(true)");
                _escolheRota.estadoUICarta(true);
            }

            if (InvAtual.rodadasSemObj > 0)
            {
                InvAtual.rodadasSemObj--;
            }

            if (GerenciadorGeral.modoOnline)
            {
                if (PhotonNetwork.IsMasterClient)
                {
                    meuPV.RPC("RPC_DefAlvo", RpcTarget.All, Turno);
                }
            }
            else
            {
                DefAlvo(Turno);
            }
        }
Beispiel #3
0
        public void AddPowerUp(TipoPowerUps novoPowerUp, int i = -1)
        {
            if (i < 0)
            {
                i = GerenciadorPartida.Turno;
            }
            Inventario inv = GerenciadorPartida.OrdemJogadores[i].GetComponent <Inventario>();

            if (inv.powerUps.Count >= 3)
            {
                return;
            }

            Transform pnlDescricao = TabuleiroHUD.PnlsDescricoes[i];

            bool pnlActive = pnlDescricao.gameObject.activeSelf;

            pnlDescricao.gameObject.SetActive(true);

            string txt = LeitorDescr.LeLinha((int)novoPowerUp);

            PowerUp pw = new PowerUp();

            pw.tipo      = novoPowerUp;
            pw.titulo    = txt.Split(';')[0];
            pw.descricao = txt.Split(';')[1];

            inv.powerUps.Add(pw);

            int teste = powerUps.Count - 1;

            pnlDescricao = pnlDescricao.GetChild(teste);

            pnlDescricao.Find("titulo").GetComponentInChildren <Text>().text   = pw.titulo;
            pnlDescricao.Find("conteudo").GetComponentInChildren <Text>().text = pw.descricao;

            pnlDescricao.gameObject.SetActive(pnlActive);

            TabuleiroHUD.FundoPowerUps(TabuleiroHUD.corOn, powerUps.Count - 1, i);
        }
Beispiel #4
0
        private void Start()
        {
            meuPV = GetComponent <PhotonView>();
            GameObject tronco_gbj = FindObjectOfType <TabuleiroRaiz>().tronco_gbj;

            jaInicializado = OrdemJogadores.Count != 0;

            bool autoridade = GerenciadorGeral.modoOnline
                                ? PhotonNetwork.IsMasterClient
                                : true;

            if (!autoridade)
            {
                return;
            }

            if (!jaInicializado)
            {
                meuPV.RPC("RPC_DefQtd", RpcTarget.Others, GerenciadorGeral.qtdJogadores);

                for (int i = 0; i < GerenciadorGeral.qtdJogadores; i++)
                {
                    Transform jogador;

                    if (!GerenciadorGeral.modoOnline)
                    {
                        jogador = Instantiate(
                            jogadorPrefabs[i],
                            Vector3.zero,
                            Quaternion.identity,
                            tronco_gbj.transform
                            ).transform;
                    }
                    else
                    {
                        jogador = PhotonNetwork.InstantiateSceneObject(
                            jogadorPrefabs[i].name,
                            Vector3.zero,
                            Quaternion.identity
                            ).transform;
                        //jogador.SetParent(tronco_gbj.transform);

                        //if (i > 0)
                        //{
                        //var jogador_pv = jogador.GetComponent<PhotonView>();
                        //DsvUtils.InspetorPhoton.ImprimirDicio(PhotonNetwork.CurrentRoom.Players);
                        //var player = PhotonNetwork.CurrentRoom.Players[i+1];
                        //jogador_pv.TransferOwnership(player);
                        //}

                        var jogador_pv = jogador.GetComponent <PhotonView>();
                        var player     = PhotonNetwork.CurrentRoom.Players[i + 1];
                        jogador_pv.RPC("RPC_DarPosse", RpcTarget.All, i);
                    }

                    OrdemJogadores.Add(jogador.transform);
                }

                MovAtual = OrdemJogadores[0].GetComponent <Movimentacao>();
                InvAtual = OrdemJogadores[0].GetComponent <Inventario>();

                _escolheRota.estadoUIRota(false);
                _escolheRota.estadoUICarta(true);

                TabuleiroHUD.FundoJogador(TabuleiroHUD.corOn);

                if (GerenciadorGeral.modoOnline)
                {
                    meuPV.RPC("RPC_DefAlvo", RpcTarget.All, ObterJogadorAtivo());
                }
                else
                {
                    DefAlvo(ObterJogadorAtivo());
                }
            }
        }