//INIT LEVEL MUSIC void InitLevelMusic(E_MAP_ID _id) { Destroy(MusicThemePlaying); if (_id == E_MAP_ID.START_MAP || _id == E_MAP_ID.ALL_COINS_START) { MusicThemePlaying = audioManager.GetAudioObject(AudioManager.E_AUDIO_ID.MUSIC_LVL1); } if (_id == E_MAP_ID.UNDERGROUND_MAP || _id == E_MAP_ID.CLOUD_MAP || _id == E_MAP_ID.ALL_COINS_UNDERGROUND) { MusicThemePlaying = audioManager.GetAudioObject(AudioManager.E_AUDIO_ID.MUSIC_LVL2); } }
//************GET************ Texture2D GetTexture(E_MAP_ID _id) { foreach (TextureIDPair pair in mapTextures) { if (pair.id == _id) { return(pair.tex); } } Debug.LogError("TEXTURE WITH ID(ENUM) " + _id + " DOES NOT EXISTS"); return(null); }
//************SET************ public void CreateMap(E_MAP_ID _id) { coinsCollected = 0; DeleteMap(); cameraShader.ResetEntityShaders(); currentMap = _id; InitLevelMusic(currentMap); outOfBoundsEffectsTriggered = false; ClearAllGlitchVoiceAreas(); SpawnGlitchedVoiceHandler(); StartCoroutine(SpawnBlueScreenHandler()); Texture2D map = GetTexture(_id); Color32[] pixels = map.GetPixels32(); int w = map.width; int h = map.height; //for every pixel(from bot-left) if it's color is assigned to some GameObject, spawn that GameObject on position relative to the position //of that pixel for (int i = 0; i < h; ++i) { for (int j = 0; j < w; ++j) { GameObject prefab = GetPrefab(pixels[(i * w) + j]); //Vector3 pos = new Vector3(mapSpawnPos.position.x + (tileSize * j), mapSpawnPos.position.y + (tileSize * i), 0); Vector3 pos = new Vector3(mapSpawnPos.position.x + (tileSize * j), mapSpawnPos.position.y + (tileSize * i), 0); if (prefab != null) { GameObject newEntity = (GameObject)Instantiate(prefab, pos, Quaternion.identity); newEntity.transform.parent = gameObject.transform; entities.Add(newEntity); } } } //GET MARIO REFRENCE marioRefrence = FindObjectOfType <Mario>().gameObject; //PLACE CAMERA Camera.main.transform.position = new Vector3(marioRefrence.transform.position.x, 5, Camera.main.transform.position.z); if (currentMap == E_MAP_ID.UNDERGROUND_MAP || currentMap == E_MAP_ID.CLOUD_MAP || currentMap == E_MAP_ID.ALL_COINS_START || currentMap == E_MAP_ID.ALL_COINS_UNDERGROUND) { Camera.main.backgroundColor = new Color32(0, 0, 20, 255); } //IF CLOUD_MAP -> ADD FINAL BOSS ENTITY if (currentMap == E_MAP_ID.CLOUD_MAP) { entities.Add((GameObject)Instantiate(FinalBossPrefab, new Vector2(216, 4), Quaternion.identity)); } //IF ALL_COINS_START -> ADD MORSE CODE ENTITY if (currentMap == E_MAP_ID.ALL_COINS_START) { entities.Add((GameObject)Instantiate(MorseCodeEntityPrefab, new Vector2(176, 5), Quaternion.identity)); } if (currentMap == E_MAP_ID.ALL_COINS_UNDERGROUND) { entities.Add((GameObject)Instantiate(BarcodePrefab, new Vector2(230, 6.5f), Quaternion.identity)); } //MAYBE SET CAMERA SHADER SetRandomCameraShader(); }