Beispiel #1
0
    public void AddTile(int x, int y, int id)
    {
        Chunk currentChunk = ManageChunkTile(x, y, id);

        currentChunk.SetTile(new Vector3Int(x % chunkSize, y % chunkSize, 0), tilebaseDictionary[id]);
        lightService.RecursivAddShadow(x, y);
        RefreshLight(CycleDay.GetIntensity());
        RefreshChunkNeightboorTiles(x, y, currentChunk.tilemapTile);
    }
Beispiel #2
0
 public void Init(Tilemap _tilemapLight, int[,] _tilesWorldMap, float[,] _tilesLightMap, int[,] _wallTilesMap, Tilemap _tilemapShadow, float[,] _tilesShadowMap, CycleDay _cycleDay)
 {
     // tilemapLight = _tilemapLight;
     tilesWorldMap = _tilesWorldMap;
     // tilesLightMap = _tilesLightMap;
     wallTilesMap   = _wallTilesMap;
     tilemapShadow  = _tilemapShadow;
     tilesShadowMap = _tilesShadowMap;
     cycleDay       = _cycleDay;
 }
Beispiel #3
0
 private void InitResources()
 {
     cycleDay           = gameObject.GetComponentInChildren <CycleDay>();
     chunkService       = gameObject.GetComponent <ChunkService>();
     levelGenerator     = gameObject.GetComponent <LevelGenerator>();
     lightService       = gameObject.GetComponent <LightService>();
     block_sprites      = Resources.LoadAll <Sprite>("Sprites/blocks");
     tilebaseDictionary = tilebase_cfg.GetDico();
     tile_selector      = Instantiate(Resources.Load("Prefabs/tile_selector")) as GameObject;
 }
Beispiel #4
0
 public void ChunckVisible(bool isVisible)
 {
     // to to rajouter un test pour ne plus passer par ici si le chunk est visible et a déjà été activé!!!!!!!!!!!!!!!!!!
     isChunkVisible = isVisible;
     if (isVisible && !alreadyVisible)
     {
         alreadyVisible = true;
         tc2d.enabled   = true;
         RefreshShadowMap(CycleDay.GetIntensity());
     }
 }
Beispiel #5
0
    public void DeleteTile(int x, int y)
    {
        var   id           = tilesWorldMap[x, y];
        Chunk currentChunk = ManageChunkTile(x, y, 0);

        currentChunk.SetTile(new Vector3Int(x % chunkSize, y % chunkSize, 0), null);
        lightService.RecursivDeleteShadow(x, y);
        RefreshLight(CycleDay.GetIntensity());
        ManageItems.CreateItemOnMap(x, y, id);
        RefreshChunkNeightboorTiles(x, y, currentChunk.tilemapTile);
    }
Beispiel #6
0
 public void DeleteItem(int posX, int posY)
 {
     if (tilesObjetMap[posX, posY].name == "item_11(Clone)")   // toDo changer cette merde
     {
         lightService.RecursivDeleteLight(posX, posY, true);
         RefreshLight(CycleDay.GetIntensity());
     }
     tilesObjetMap[posX, posY] = null;
     Destroy(tilesObjetMap[posX, posY]);
     ManageItems.CreateItemOnMap(posX, posY, 11);
 }
Beispiel #7
0
    public void AddItem(int posX, int posY, InventoryItem item)
    {
        var id = item.config.id;
        // toDo faire un pool d'objet déjà instancié!
        var go = Instantiate((GameObject)Resources.Load("Prefabs/Items/item_" + id), new Vector3(posX + 0.5f, posY + 0.5f, 0), transform.rotation);

        tilesObjetMap[posX, posY] = go;
        if (id == 11)
        {
            lightService.RecursivAddNewLight(posX, posY, 0);
            RefreshLight(CycleDay.GetIntensity());
        }
    }
Beispiel #8
0
 public void Init(int _chunkSize, Dictionary <int, TileBase> _tilebaseDictionary, int[,] _tilesWorldMap, float[,] _tilesLightMap, GameObject _player, Tilemap _tilemapLight, Tilemap _tilemapWall, GameObject[,] _tilesObjetMap, CycleDay _cycleDay, LightService _lightService, float[,] _tilesShadowMap, Tilemap _tilemapShadow)
 {
     boundX             = tilesMapChunks.GetUpperBound(0);
     boundY             = tilesMapChunks.GetUpperBound(1);
     halfChunk          = _chunkSize / 2;
     player             = _player;
     worldMapTransform  = GameObject.FindGameObjectWithTag("WorldMap").gameObject.transform;
     tilebaseDictionary = _tilebaseDictionary;
     tilesLightMap      = _tilesLightMap;
     tilesWorldMap      = _tilesWorldMap;
     tilemapWall        = _tilemapWall;
     chunkSize          = _chunkSize;
     tilemapLight       = _tilemapLight;
     tilesObjetMap      = _tilesObjetMap;
     cycleDay           = _cycleDay;
     tilesObjetMap      = _tilesObjetMap;
     lightService       = _lightService;
     tilesShadowMap     = _tilesShadowMap;
     tilemapShadow      = _tilemapShadow;
     tilemapWall.GetComponent <TileMapScript>().tilesWorldMap = tilesWorldMap;
     // CreatePoolChunk(6, 25); // cas pour 32 tiles
     CreatePoolChunk(3, 13); // cas pour 64 tiles
     // RenderPartialMapForTest(); // for debug map
 }