Esempio n. 1
0
 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 );
     }
 }
Esempio n. 2
0
    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);
        }
    }
Esempio n. 3
0
    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);
        }
    }
Esempio n. 4
0
    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);
        }
    }