示例#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
 void IniciaEncontro()
 {
     luta         = true;
     andado       = 0;
     proxEncontro = SorteiaPassosParaEncontro();
     encontrado   = criatureEncontrado();
     gerenteDeEncontro.InicializarEncounterManager(InsereInimigoEmCampo.RetornaInimigoEmCampo(encontrado, manager), manager);
     AplicadorDeCamera.cam.GetComponent <Camera>().farClipPlane = 100;
     GameController.g.HudM.MenuDeI.FinalizarHud();
     GameController.g.HudM.Btns.btnParaCriature.interactable = false;
     InsereElementosDoEncontro.encontroPadrao(manager);
 }
示例#3
0
文件: encontros.cs 项目: fayvit/PQP
    private int nivelandoEncontrado(encontravel encontrado)
    {
        int retorno = 0;

        switch (encontrado.tipo)
        {
        case 0:
            // a fazer (relativo a primeira fase)
            retorno = 1;
            break;

        case 1:
            retorno = Random.Range(encontrado.nivelMin, encontrado.nivelMax + 1);
            break;
        }

        return(retorno);
    }
示例#4
0
文件: encontros.cs 项目: fayvit/PQP
    // Update is called once per frame
    protected void Update()
    {
        if (!pausaJogo.pause)
        {
            if (!luta)
            {
                posHeroi = tHeroi.position;
            }

            if (!heroiMB)
            {
                heroiMB = tHeroi.GetComponent <movimentoBasico>();
            }

            if (!lugarSeguro() && !luta && heroiMB.noChao(heroiMB.Y.distanciaFundamentadora))
            {
                andado += (posHeroi - posAnterior).magnitude;
            }


            if (!luta && andado >= proxEncontro)
            {
                print(andado + " : " + proxEncontro);
                proxEncontro = SorteiaPassosParaEncontro();
                //			int paraEncontrado = Random.Range(0,10);
                encontrado = criatureEncontrado();
                encontroPadrao();
                andado = 0;
            }

            posAnterior = posHeroi;

            passoDoEncontro();


            Debug.DrawRay(posHeroi - 40f * tHeroi.forward, 1000f * Vector3.up, Color.yellow);
        }
    }
示例#5
0
文件: encontros.cs 项目: fayvit/PQP
    private int nivelandoEncontrado(encontravel encontrado)
    {
        int retorno = 0;
        switch(encontrado.tipo)
        {
            case 0:
                // a fazer (relativo a primeira fase)
                retorno = 1;
            break;
            case 1:
                retorno = Random.Range(encontrado.nivelMin,encontrado.nivelMax+1);
            break;
        }

        return retorno;
    }
示例#6
0
文件: encontros.cs 项目: fayvit/PQP
    // Update is called once per frame
    protected void Update()
    {
        if(!pausaJogo.pause){
            if(!luta )
                posHeroi = tHeroi.position;

            if(!heroiMB)
                heroiMB = tHeroi.GetComponent<movimentoBasico>();

            if(!lugarSeguro()&& !luta && heroiMB.noChao(heroiMB.Y.distanciaFundamentadora))
            {
                andado += (posHeroi - posAnterior).magnitude;
            }

            if(!luta && andado>=proxEncontro)
            {
                print(andado+" : "+proxEncontro);
                proxEncontro = SorteiaPassosParaEncontro();
                //			int paraEncontrado = Random.Range(0,10);
                encontrado = criatureEncontrado();
                encontroPadrao();
                andado = 0;
            }

            posAnterior = posHeroi;

            passoDoEncontro ();

            Debug.DrawRay (posHeroi-40f*tHeroi.forward,1000f*Vector3.up,Color.yellow);
        }
    }