void CheckTileSwaps(int i, int j) { // e int tNum = GET_MAP(i, j); if ( !tileSwapDict.ContainsKey(tNum) ) return; // We do need to swap a tile TileSwap ts = tileSwapDict[tNum]; if (ts.swapPrefab != null) { // f GameObject go = Instantiate(ts.swapPrefab); Enemy e = go.GetComponent <Enemy>(); if (e != null) { go.transform.SetParent( enemyAnchor ); } else { go.transform.SetParent( itemAnchor ); } go.transform.position = new Vector3(i, j, 0); if (ts.guaranteedItemDrop != null) { // g if (e != null) { e.guaranteedItemDrop = ts.guaranteedItemDrop; } } } // Replace with another tile if (ts.overrideTileNum == - 1) { // h SET_MAP( i, j, defaultTileNum ); } else { SET_MAP( i, j, ts.overrideTileNum ); } }
void CheckTileSwaps(int i, int j) { // e int tNum = GET_MAP(i, j); if (!tileSwapDict.ContainsKey(tNum)) { return; } // We do need to swap a tile TileSwap ts = tileSwapDict[tNum]; if (ts.swapPrefab != null) { // f GameObject go = Instantiate(ts.swapPrefab); Enemy e = go.GetComponent <Enemy>(); if (e != null) { go.transform.SetParent(enemyAnchor); } else { go.transform.SetParent(itemAnchor); } go.transform.position = new Vector3(i, j, 0); if (ts.guaranteedItemDrop != null) { // g if(e != null) { e.guaranteedItemDrop = ts.guaranteedItemDrop; } } } // Replace with another tile if (ts.overrideTileNum == -1) { // h SET_MAP(i, j, defaultTileNum); } else { SET_MAP(i, j, ts.overrideTileNum); } }
void CheckTileSwaps(int i, int j) { int tNum = GET_MAP(i, j); if (!tileSwapDict.ContainsKey(tNum)) { return; } //We do need to swap a tile TileSwap ts = tileSwapDict[tNum]; if (ts.swapPrefab != null) { GameObject go = Instantiate(ts.swapPrefab); Enemy e = go.GetComponent <Enemy>(); if (e != null) { go.transform.SetParent(enemyAnchor); } else { go.transform.SetParent(itemAnchor); } go.transform.position = new Vector3(i, j, 0); if (ts.guaranteedItemDrop = ts.guaranteedItemDrop) { if (e != null) { e.guaranteedItemDrop = ts.guaranteedItemDrop; } } } //Replace with another tile if (ts.overrideTileNum == -1) { SET_MAP(i, j, defaultTileNum); } else { SET_MAP(i, j, ts.overrideTileNum); } }
private void CheckTileSwaps(int i, int j) // принимает координаты особого тайла, извлекает её индекс из MAP и производит замену (если тайл включен в tileSwapDict) { int tNum = GET_MAP(i, j); if (!tileSwapDict.ContainsKey(tNum)) { return; // выходим, если тайл - не враг и не предмет } // иначе заменяем тайл на префаб TileSwap ts = tileSwapDict[tNum]; if (ts.swapPrefab != null) // если tileSwapDict содержит элемент с ключом tileNum (tNum), то извлекаем из него соответствующий экземпляр класса TileSwap { GameObject temp = Instantiate(ts.swapPrefab); Enemy e = temp.GetComponent <Enemy>(); if (e != null) { temp.transform.SetParent(enemyAnchor); } else { temp.transform.SetParent(itemAnchor); } temp.transform.position = new Vector3(i, j, 0); if (ts.dropItem != null) // если у него есть дроп - добавляем { if (e != null) { e.dropItem = ts.dropItem; } } } if (ts.overrideTileNum == -1) { SET_MAP(i, j, defaultTileNum); // в итоге вносим изменения в карту TileCamera.MAP } else { SET_MAP(i, j, ts.overrideTileNum); } }