Пример #1
0
    private void checkTerrainBelow()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position + Vector3.up, Vector3.down, out hit, 2, 1 << 10))
        {
            terrenoQuePiso   = hit.collider.GetComponent <GroundTypeDelegate>().tipoTerreno;
            maxMovementSpeed = StatsInfo.velocidadUnidades[(int)tipo] * StatsInfo.velocidadUnidadPorTerreno[(int)terrenoQuePiso][(int)tipo];
        }
    }
Пример #2
0
    protected new void Start()
    {
        PersonajeBase[] personajes = FindObjectsOfType <PersonajeBase>();
        charactersInScene = new List <PersonajeBase>();
        foreach (PersonajeBase person in personajes)
        {
            if (!person.isFake)
            {
                charactersInScene.Add(person);
                gm.AddMatraca(person);
            }
        }



        terrenos       = new StatsInfo.TIPO_TERRENO[(int)gridDimensions.x][];
        influences     = new float[(int)gridDimensions.x][];
        visibleTerrain = new Color[(int)gridDimensions.x][];

        float widthStep  = (mapMaxLimits.x - mapMinLimits.x) / gridDimensions.x;
        float heightStep = (mapMaxLimits.y - mapMinLimits.y) / gridDimensions.y;

        for (int i = 0; i < gridDimensions.x; i++)
        {
            terrenos[i]       = new StatsInfo.TIPO_TERRENO[(int)gridDimensions.y];      //Inic terrenos, influences y terrenos visibles
            influences[i]     = new float[(int)gridDimensions.y];
            visibleTerrain[i] = new Color[(int)gridDimensions.y];

            for (int j = 0; j < gridDimensions.y; j++)
            {
                Vector3    originPoint = new Vector3(-(mapMinLimits.y + j * heightStep), 0.5f, mapMinLimits.x + i * widthStep);
                RaycastHit hit;
                if (Physics.Raycast(originPoint, Vector3.down, out hit, 1f, 1 << 10))
                {
                    terrenos[i][j] = hit.collider.GetComponent <GroundTypeDelegate>().tipoTerreno;
                }
            }
        }
        blocksize   = new Vector2(widthStep, heightStep);
        minX        = mapMinLimits.x;
        minY        = mapMinLimits.y;
        maxHeapSize = ((int)gridDimensions.x) * ((int)gridDimensions.y);
        gm.initIAs();
    }