コード例 #1
0
    public static CreatureManager RetornaInimigoEmCampo(encontravel encontrado, CharacterManager manager)
    {
        Debug.Log(encontrado.nome);
        GameObject M = elementosDoJogo.el.criature(encontrado.nome.ToString());
        Transform  doCriatureAtivo = manager.CriatureAtivo.transform;
        Vector3    instancia       = doCriatureAtivo.position + 10 * doCriatureAtivo.forward;

        Debug.Log(M);

        /*
         *      RaycastHit hit = new RaycastHit ();
         *              if(Physics.Linecast(posHeroi,posHeroi+10*tHeroi.forward,out hit))
         *      {
         *              instancia = hit.point+Vector3.up;
         *      }
         */
        melhoraPos melhoraPF = new melhoraPos();

        instancia = melhoraPF.posEmparedado(instancia, doCriatureAtivo.position);

        instancia = melhoraPF.novaPos(instancia, M.transform.lossyScale.y);

        GameObject InimigoX = MonoBehaviour.Instantiate(M, instancia, Quaternion.identity) as GameObject;

        int             nivel   = Random.Range(encontrado.nivelMin, encontrado.nivelMax);
        CreatureManager retorno = InimigoX.GetComponent <CreatureManager>();

        retorno.MeuCriatureBase
                   = new CriatureBase(encontrado.nome, nivel);
        retorno.IA = new IA_Agressiva();
        retorno.IA.Start(retorno);
        retorno.Estado = CreatureManager.CreatureState.selvagem;

        return(retorno);
    }
コード例 #2
0
    static CreatureManager ColocaCriatureEmCampo(string nome)
    {
        GameObject       M               = GameController.g.El.criature(nome);
        CharacterManager manager         = GameController.g.Manager;
        Transform        doCriatureAtivo = manager.transform;// o inimigo é colocado em campo antes do heroi trocar de posição com o criature
        Vector3          instancia       = doCriatureAtivo.position + 10 * doCriatureAtivo.forward;

        Debug.Log(M);

        /*
         * RaycastHit hit = new RaycastHit ();
         *  if(Physics.Linecast(posHeroi,posHeroi+10*tHeroi.forward,out hit))
         * {
         *  instancia = hit.point+Vector3.up;
         * }
         */
        melhoraPos melhoraPF = new melhoraPos();

        instancia = melhoraPF.posEmparedado(instancia, doCriatureAtivo.position);

        instancia = InsereElementosDoEncontro.emBuscaDeUmaBoaPosicao(instancia, M.transform.lossyScale.y);//melhoraPF.novaPos(instancia, M.transform.lossyScale.y);

        GameObject InimigoX = MonoBehaviour.Instantiate(M, instancia, Quaternion.identity) as GameObject;


        return(InimigoX.GetComponent <CreatureManager>());
    }
コード例 #3
0
    void colocaTreinadorRivalNaPosicaoDoEncontro()
    {
        melhoraPos melhorP = new melhoraPos();

        tTreinador.position = melhorP.novaPos(melhorP.posEmparedado(posHeroi + 40 * tHeroi.forward, tTreinador.position));

        tTreinador.gameObject.AddComponent <gravidadeGambiarra> ();
    }
コード例 #4
0
ファイル: encontroDeTreinador.cs プロジェクト: fayvit/PQP
    void enviaOProximo()
    {
        aDoTreinador.SetBool("chama", true);
        aE = gameObject.AddComponent <animaEnvia>();
        aE.oInstanciado = encontraveis[indiceDoProx].nome;
        indiceDoProx++;
        aE.oQEnvia = tTreinador.gameObject;
        melhoraPos melhorP = new melhoraPos();

        aE.posCriature = melhorP.novaPos(melhorP.posEmparedado(posHeroi + 5 * tHeroi.forward, tTreinador.position));
    }
コード例 #5
0
    void AproximeEnquantoEspera()
    {
        Vector3 instancia = criatureDoJogador.transform.position + 7 * ((meuCriature.transform.position - criatureDoJogador.transform.position).normalized);

        melhoraPos melhoraPF = new melhoraPos();

        instancia = melhoraPF.posEmparedado(instancia, criatureDoJogador.transform.position);

        instancia = melhoraPF.novaPos(instancia, meuCriature.transform.lossyScale.y);

        siga.Update(instancia);
    }
コード例 #6
0
        static Vector3 novaPos(Vector3 posInicial, float altura, Vector3 posAlvo)
        {
            RaycastHit hit           = new RaycastHit();
            string     nomeDoTerreno = "Terrain";

            if (Physics.Raycast(posInicial + Vector3.up, Vector3.down, out hit))
            {
                nomeDoTerreno = hit.collider.name;
            }
            Vector3 retorno = new melhoraPos().posEmparedado(posAlvo, posInicial);

            retorno = emBuscaDeUmaBoaPosicao(retorno, altura, nomeDoTerreno);

            return(retorno);
        }
コード例 #7
0
ファイル: encontros.cs プロジェクト: fayvit/PQP
    Vector3 novaPos()
    {
        RaycastHit hit           = new RaycastHit();
        string     nomeDoTerreno = "Terrain";

        if (Physics.Raycast(posAnterior, Vector3.down, out hit))
        {
            nomeDoTerreno = hit.collider.name;
        }
        Vector3 retorno = posHeroi - 40f * tHeroi.forward;

        retorno = new melhoraPos().posEmparedado(retorno, posHeroi);
        float saoSalvador = tHeroi.GetComponent <CharacterController>().height;

        retorno = emBuscaDeUmaBoaPosicao(retorno, saoSalvador, nomeDoTerreno);

        return(retorno);
    }
コード例 #8
0
    static Vector3 novaPos(CharacterManager manager)
    {
        RaycastHit hit           = new RaycastHit();
        string     nomeDoTerreno = "Terrain";

        if (Physics.Raycast(manager.transform.position, Vector3.down, out hit))
        {
            nomeDoTerreno = hit.collider.name;
        }
        Vector3 retorno = manager.transform.position - 40f * manager.transform.forward;

        retorno = new melhoraPos().posEmparedado(retorno, manager.transform.position);
        float saoSalvador = manager.GetComponent <CharacterController>().height;

        retorno = emBuscaDeUmaBoaPosicao(retorno, saoSalvador, nomeDoTerreno);

        return(retorno);
    }
コード例 #9
0
ファイル: encontros.cs プロジェクト: fayvit/PQP
    protected GameObject setaInimigo()
    {
        GameObject M = elementosDoJogo.el.criature(encontrado.nome.ToString());

        Vector3 instancia = posHeroi + 10 * tHeroi.forward;

        /*
         * RaycastHit hit = new RaycastHit ();
         *      if(Physics.Linecast(posHeroi,posHeroi+10*tHeroi.forward,out hit))
         * {
         *      instancia = hit.point+Vector3.up;
         * }*/
        melhoraPos melhoraPF = new melhoraPos();

        instancia = melhoraPF.posEmparedado(instancia, posHeroi);

        instancia = melhoraPF.novaPos(instancia, M.transform.lossyScale.y);

        GameObject InimigoX = Instantiate(M, instancia, Quaternion.identity) as GameObject;

        return(InimigoX);
    }
コード例 #10
0
ファイル: encontros.cs プロジェクト: fayvit/PQP
    Vector3 novaPos()
    {
        RaycastHit hit = new RaycastHit();
        string nomeDoTerreno = "Terrain";
        if(Physics.Raycast(posAnterior,Vector3.down,out hit))
        {
            nomeDoTerreno = hit.collider.name;
        }
        Vector3 retorno = posHeroi - 40f * tHeroi.forward;
        retorno = new melhoraPos().posEmparedado(retorno,posHeroi);
        float saoSalvador = tHeroi.GetComponent<CharacterController>().height;
        retorno = emBuscaDeUmaBoaPosicao(retorno,saoSalvador,nomeDoTerreno );

        return retorno;
    }
コード例 #11
0
ファイル: encontros.cs プロジェクト: fayvit/PQP
    protected GameObject setaInimigo()
    {
        GameObject M = elementosDoJogo.el.criature (encontrado.nome.ToString());

        Vector3 instancia = posHeroi + 10 * tHeroi.forward;
        /*
        RaycastHit hit = new RaycastHit ();
            if(Physics.Linecast(posHeroi,posHeroi+10*tHeroi.forward,out hit))
        {
            instancia = hit.point+Vector3.up;
        }*/
        melhoraPos melhoraPF = new melhoraPos();

        instancia = melhoraPF.posEmparedado(instancia,posHeroi);

        instancia = melhoraPF.novaPos(instancia,M.transform.lossyScale.y);

        GameObject InimigoX = Instantiate (M,instancia,Quaternion.identity) as GameObject;

        return InimigoX;
    }
コード例 #12
0
ファイル: encontroDeTreinador.cs プロジェクト: fayvit/PQP
 void enviaOProximo()
 {
     aDoTreinador.SetBool("chama",true);
     aE = gameObject.AddComponent<animaEnvia>();
     aE.oInstanciado = encontraveis[indiceDoProx].nome;
     indiceDoProx++;
     aE.oQEnvia = tTreinador.gameObject;
     melhoraPos melhorP = new melhoraPos();
     aE.posCriature = melhorP.novaPos(melhorP.posEmparedado(posHeroi+5*tHeroi.forward,tTreinador.position));
 }
コード例 #13
0
ファイル: encontroDeTreinador.cs プロジェクト: fayvit/PQP
    void colocaTreinadorRivalNaPosicaoDoEncontro()
    {
        melhoraPos melhorP = new melhoraPos();

        tTreinador.position = melhorP.novaPos(melhorP.posEmparedado(posHeroi+40*tHeroi.forward,tTreinador.position));

        tTreinador.gameObject.AddComponent<gravidadeGambiarra> ();
    }