Esempio n. 1
0
    public void UnlockArea(World.AreaType type, bool unlocked)
    {
        switch (type)
        {
        case World.AreaType.FOREST:
            forestButton.interactable = unlocked;
            break;

        case World.AreaType.MINE:
            mineButton.interactable = unlocked;
            break;

        case World.AreaType.BEACH:
            beachButton.interactable = unlocked;
            break;

        case World.AreaType.OCEAN:
            oceanButton.interactable = unlocked;
            break;

        case World.AreaType.DESERT:
            desertButton.interactable = unlocked;
            break;

        case World.AreaType.TOWN:
            townButton.interactable = unlocked;
            break;
        }
    }
Esempio n. 2
0
    public void LoadArea(int type)
    {
        World.AreaType area = (World.AreaType)type;

        Game.Instance.LoadArea(area);
        Game.Instance.DisplayGame();
    }
Esempio n. 3
0
    private Object[] LoadObjects(World.AreaType type)
    {
        string baseStr = "";

        switch (type)
        {
        case World.AreaType.FOREST:
            baseStr += "Forest";
            break;

        case World.AreaType.MINE:
            baseStr += "Mine";
            break;

        case World.AreaType.BEACH:
            baseStr += "Beach";
            break;

        case World.AreaType.OCEAN:
            baseStr += "Ocean";
            break;

        case World.AreaType.DESERT:
            baseStr += "Desert";
            break;

        case World.AreaType.TOWN:
            baseStr += "Town";
            break;
        }
        var objects = Resources.LoadAll(baseStr, typeof(GameObject));

        return(objects);
    }
Esempio n. 4
0
    private void SetupArea(World.AreaType type)
    {
        var randState = Random.state;

        SetSeed();

        GameObject background = LoadBackground(type);

        Object[] objects = LoadObjects(type);

        background.transform.SetParent(this.transform, false);

        int     objectAmo = Random.Range(10, 100);
        Vector3 startPos  = this.transform.position - new Vector3(size * .5f, size * .5f, 0f);

        for (int i = 0; i < objectAmo; i++)
        {
            int        objIndex = Random.Range(0, objects.Length);
            GameObject obj      = Instantiate(objects[objIndex]) as GameObject;
            obj.transform.SetParent(this.transform, false);

            float width  = Random.value;
            float height = Random.value;
            var   pos    = startPos;
            pos.x += width * size;
            pos.y += height * size;
            obj.transform.position = pos;

            //obj.GetComponent<SpriteRenderer>().sortingOrder = Mathf.RoundToInt(obj.transform.position.y * 100f) * -1;
        }

        Random.state = randState;
    }
Esempio n. 5
0
    public void LoadArea(World.AreaType area)
    {
        if (world.currArea == area)
        {
            return;
        }

        player.transform.position = Vector3.back * 10; //Vector3(0, 0, -10);

        world.LoadArea(player.transform.position, area);

        PlayAreaMusic();
    }
Esempio n. 6
0
    public void LoadArea(Vector2 pos, World.AreaType area)
    {
        if (area == currArea)  // Same Area
        {
            LoadChunks(pos);
            return;
        }

        Vector2Int index = Vector2Int.zero;

        // UnLoad old Chunks
        for (int y = -1; y <= 1; y++)
        {
            for (int x = -1; x <= 1; x++)
            {
                index.x = x + currChunk.x;
                index.y = y + currChunk.y;
                UnloadChunk(index);
            }
        }

        // Set New Area
        currArea = area;
        if (!areas.TryGetValue(currArea, out currChunkMap))
        {
            areas[currArea] = new Dictionary <Vector2, Chunk>();
            currChunkMap    = areas[currArea];
        }

        // Load new Chunks
        currChunk = GetChunkIndex(pos);
        for (int y = -1; y <= 1; y++)
        {
            for (int x = -1; x <= 1; x++)
            {
                index.x = x + currChunk.x;
                index.y = y + currChunk.y;
                LoadChunk(index);
            }
        }

        if (onAreaChange != null)
        {
            onAreaChange();
        }
    }
Esempio n. 7
0
    public static Chunk CreateChunk(int xIndex, int yIndex, World.AreaType type)
    {
        Vector2 pos = new Vector2(xIndex * Chunk.size, yIndex * Chunk.size);

        GameObject go = new GameObject(type + " Chunk(" + xIndex + "," + yIndex + ")");
        Chunk      c  = go.AddComponent <Chunk>();

        c.transform.position = pos;
        c.xIndex             = xIndex;
        c.yIndex             = yIndex;

        switch (type)
        {
        case World.AreaType.FOREST:
            c.SetupArea(World.AreaType.FOREST);
            //c.SetupForest();
            break;

        case World.AreaType.DESERT:
            c.SetupArea(World.AreaType.DESERT);
            //c.SetupDesert();
            break;

        case World.AreaType.BEACH:
            c.SetupArea(World.AreaType.BEACH);
            //c.SetupCoast();
            break;

        case World.AreaType.MINE:
            c.SetupArea(World.AreaType.MINE);
            //c.SetupMine();
            break;

        case World.AreaType.OCEAN:
            c.SetupArea(World.AreaType.OCEAN);
            //c.SetupOcean();
            break;

        case World.AreaType.TOWN:
            c.SetupArea(World.AreaType.TOWN);
            //c.SetupTown();
            break;
        }

        return(c);
    }
Esempio n. 8
0
    private GameObject LoadBackground(World.AreaType type)
    {
        string baseStr = "";

        switch (type)
        {
        case World.AreaType.FOREST:
            baseStr += "Forest";
            break;

        case World.AreaType.MINE:
            baseStr += "Mine";
            break;

        case World.AreaType.BEACH:
            baseStr += "Beach";
            break;

        case World.AreaType.OCEAN:
            baseStr += "Ocean";
            break;

        case World.AreaType.DESERT:
            baseStr += "Desert";
            break;

        case World.AreaType.TOWN:
            baseStr += "Town";
            break;
        }
        baseStr += "Background";
        //Instantiate(Resources.Load("ForestBackground", typeof(GameObject))) as GameObject
        GameObject background = Instantiate(Resources.Load(baseStr, typeof(GameObject))) as GameObject;

        return(background);
    }