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; } }
public void LoadArea(int type) { World.AreaType area = (World.AreaType)type; Game.Instance.LoadArea(area); Game.Instance.DisplayGame(); }
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); }
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; }
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(); }
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(); } }
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); }
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); }