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); }
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; }
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; }
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()); } }
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); }
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); }
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()); } }
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 }