Example #1
0
 //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);
     }
 }
Example #2
0
 //************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);
 }
Example #3
0
    //************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();
    }