Beispiel #1
0
        bool PodeUsar()
        {
            //(AbstractGlobalController.Instance.Players[0].Manager as CharacterManager).ActivePet.Mov.LockTarget
            //if (GameController.g.estaEmLuta && !GameController.g.ContraTreinador)

            if (FindByOwner.GetEnemy(Dono))
            {
                return(true);
            }

            return(false);
        }
Beispiel #2
0
        private bool AtualizaUsoDaCarta()
        {
            switch (Estado)
            {
            case ItemUseState.animandoBraco:
                if (!AnimaB.AnimaTroca(true))
                {
                    captura  = ContinhaDeCaptura();
                    Estado   = ItemUseState.aplicandoItem;
                    animaCap = new CaptureManager(Dono, captura);
                }
                break;

            case ItemUseState.aplicandoItem:
                if (!animaCap.Update())
                {
                    if (captura)
                    {
                        //MessageAgregator<MsgChangeToHero>.Publish(new MsgChangeToHero()
                        //{
                        //    myHero = Dono
                        //});
                        //Debug.LogError("Retorna para o fluxo de heroi");
                        //GameController.g.RetornarParaFluxoDoHeroi();
                        //Estado = ItemUseState.nulo;
                        Estado = ItemUseState.finalizaUsaItem;
                    }
                    else
                    {
                        MessageAgregator <MsgRequestEndArmsAnimations> .Publish(new MsgRequestEndArmsAnimations()
                        {
                            oAnimado = Dono
                        });

                        (FindByOwner.GetManagerEnemy(Dono) as PetManagerEnemy).ReturnRememberedState();
                        Estado = ItemUseState.finalizaUsaItem;
                    }
                }
                break;

            case ItemUseState.finalizaUsaItem:
                return(false);

            //break;
            case ItemUseState.nulo:
                Debug.Log("alcançou estado nulo para " + ID.ToString());
                break;
            }
            return(true);
        }
Beispiel #3
0
        public CaptureManager(GameObject dono, bool iraCapturar)
        {
            this.dono          = dono;
            this.iraCapturar   = iraCapturar;
            CriatureAlvoDoItem = FindByOwner.GetEnemy(dono).gameObject;
            //animator = CriatureAlvoDoItem.GetComponent<Animator>();

            CameraApplicator.cam.StartShowPointCamera(CriatureAlvoDoItem.transform, new SinglePointCameraProperties()
            {
                velOrTimeFocus = .85f,
                withTime       = true
            });

            //AplicadorDeCamera.cam.InicializaCameraExibicionista(CriatureAlvoDoItem.transform);asd
        }
Beispiel #4
0
        private void IniciaUsoDaCarta()
        {
            if (PodeUsar())
            {
                //Manager = GameController.g.Manager;
                Estado = ItemUseState.animandoBraco;
                RetirarUmItem(Lista, this, 1);
                PetManagerEnemy P = FindByOwner.GetManagerEnemy(Dono) as PetManagerEnemy;

                if (P)
                {
                    InicializacaoComum(Dono, P.transform /*GameController.g.InimigoAtivo.transform*/);
                    P.StopWithRememberedState();
                }
                else
                {
                    Debug.LogError("Uma mensagem para criature não focado");
                }
            }
            else
            {
                Estado = ItemUseState.finalizaUsaItem;

                MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo()
                {
                    message = TextBank.RetornaFraseDoIdioma(TextKey.mensLuta)
                });

                Debug.LogError("Uma mensagem de não pode usar");

                if (!FindByOwner.GetManagerEnemy(Dono))
                {
                    MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo()
                    {
                        message = TextBank.RetornaListaDeTextoDoIdioma(TextKey.mensLuta)[5]
                    });
                }


                //if (!GameController.g.estaEmLuta)
                //    GameController.g.HudM.Painel.AtivarNovaMens(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.mensLuta)[0], 30, 7);
                //else if (GameController.g.ContraTreinador)
                //    GameController.g.HudM.Painel.AtivarNovaMens(BancoDeTextos.RetornaListaDeTextoDoIdioma(ChaveDeTexto.mensLuta)[3], 30, 7);
            }
        }
Beispiel #5
0
        bool ContinhaDeCaptura()
        {
            return(true);

            int vida = FindByOwner.GetManagerEnemy(Dono).MeuCriatureBase.PetFeat.meusAtributos.PV.Corrente;

            bool retorno = false;


            if (vida == 2)
            {
                float x = Random.value;
                if (x > 0.75f)
                {
                    retorno = true;
                }
                else
                {
                    retorno = false;
                }

                Debug.Log("dois pontos de vida: " + x);
            }

            if (vida == 1)
            {
                float y = Random.value;
                if (y > 0.25f)
                {
                    retorno = true;
                }
                else
                {
                    retorno = false;
                }
            }

            return(retorno);
        }
Beispiel #6
0
        void PreparaFinalSemCaptura()
        {
            ParticleOfSubstitution.ParticulaSaiDaLuva(CriatureAlvoDoItem.transform.position, GeneralParticles.captureEscape);
            CriatureAlvoDoItem.transform.localScale = new Vector3(1, 1, 1);
            //animator.SetBool("dano1", false);
            //animator.SetBool("dano2", false);
            MessageAgregator <MsgEndDamageState> .Publish(new MsgEndDamageState()
            {
                gameObject = CriatureAlvoDoItem
            });

            Debug.LogError("ota HUd");

            MessageAgregator <MsgRequestRapidInfo> .Publish(new MsgRequestRapidInfo()
            {
                message = string.Format(TextBank.RetornaFraseDoIdioma(TextKey.tentaCapturar),
                                        PetBase.NomeEmLinguas(FindByOwner.GetManagerEnemy(dono).MeuCriatureBase.NomeID))
            });

            //GameController.g.HudM.Painel.AtivarNovaMens(
            //   GameController.g.InimigoAtivo.MeuCriatureBase.NomeEmLinguas + BancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.tentaCapturar),
            //    24, 5);
        }
Beispiel #7
0
        // Update is called once per frame
        public bool Update()
        {
            tempoDecorrido += Time.deltaTime;
            switch (fase)
            {
            case FaseDoAnimaCaptura.inicial:

                PetManager enemyManager = FindByOwner.GetManagerEnemy(dono);
                //AplicadorDeCamera.cam.FocarPonto(10, enemyManager.MeuCriatureBase.distanciaCameraLuta);
                CameraApplicator.cam.FocusInPoint(enemyManager.MeuCriatureBase.distanciaCameraLuta);
                int     arredondado = Mathf.RoundToInt(tempoDecorrido);
                Vector3 variacao    = arredondado % 2 == 1 ? Vector3.zero : new Vector3(1.5f, 1.5f, 1.5f);

                if (arredondado != disparado && arredondado < LOOPS)
                {
                    ParticleOfSubstitution.ParticulaSaiDaLuva(CriatureAlvoDoItem.transform.position);

                    MessageAgregator <MsgRequestDamageAnimateWithFade> .Publish(
                        new MsgRequestDamageAnimateWithFade()
                    {
                        animatePet = enemyManager.gameObject
                    }
                        );

                    //animator.CrossFade("dano1", 0);
                    //animator.SetBool("dano1", true);
                    //animator.SetBool("dano2", true);

                    disparado = arredondado;
                }

                if (arredondado >= LOOPS)
                {
                    if (iraCapturar)
                    {
                        PreparaFinalComCaptura();
                        fase = FaseDoAnimaCaptura.cameraDoHeroi;
                    }
                    else
                    {
                        PreparaFinalSemCaptura();
                        fase = FaseDoAnimaCaptura.finalizaSemCapturar;
                    }

                    tempoDecorrido = 0;
                }

                CriatureAlvoDoItem.transform.localScale = Vector3.Lerp(
                    CriatureAlvoDoItem.transform.localScale, variacao, Time.deltaTime);

                break;

            case FaseDoAnimaCaptura.finalizaSemCapturar:
                if (tempoDecorrido > 1)
                {
                    return(false);
                }
                break;

            case FaseDoAnimaCaptura.cameraDoHeroi:
                if (tempoDecorrido > 1.5f)
                {
                    CameraApplicator.cam.StartShowPointCamera(dono.transform, new SinglePointCameraProperties()
                    {
                        velOrTimeFocus  = .85f,
                        characterHeight = 1.75f,
                        withTime        = true
                    });
                    //AplicadorDeCamera.cam.InicializaCameraExibicionista(GameController.g.Manager.transform);
                    fase           = FaseDoAnimaCaptura.animaPersonagemCapturando;
                    tempoDecorrido = 0;
                }
                break;

            case FaseDoAnimaCaptura.animaPersonagemCapturando:
                if (tempoDecorrido > 1)
                {
                    PetManager P = FindByOwner.GetManagerEnemy(dono);
                    animaPose = new AnimateCapturePose(P.MeuCriatureBase, dono);
                    MonoBehaviour.Destroy(P.gameObject);
                    fase = FaseDoAnimaCaptura.finalizaCapturando;
                }
                break;

            case FaseDoAnimaCaptura.finalizaCapturando:
                if (!animaPose.Update())
                {
                    return(false);
                }
                break;
            }

            return(true);
        }