Beispiel #1
0
 public void AddToPool(GardenTile _tile)
 {
     _tile.transform.SetParent(transform);
     pooledTiles.Add(_tile);
     _tile.gameObject.SetActive(false);
     placedTiles.Add(_tile);
 }
        public async Task <IActionResult> PutGardenTile(string id, GardenTileDTO gardenTileDTO)
        {
            GardenTile gardenTile = _mapper.Map <GardenTile>(gardenTileDTO);

            if (id != gardenTile.Id)
            {
                return(BadRequest());
            }
            if (!Owned(gardenTile))
            {
                return(Unauthorized());
            }
            _context.Entry(gardenTile).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GardenTileExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
    public void SpawnFirstGarden()
    {
        for (int i = 0; i < tilesPerGarden; i++)
        {
            nextTile = GameManager.gm.tilePool.GetGardenTile(Random.Range(0, GameManager.gm.tilePool.pooledTiles.Count));

            if (heavyTileCountdown > 0 && nextTile.tyleType == GardenTile.TyleType.Heavy)
            {
                // get another tile
                i--;
            }
            else
            {
                nextTile.transform.position = spawnLocation;
                nextTile.transform.parent   = null;
                nextTile.gameObject.SetActive(true);
                GameManager.gm.tilePool.placedTiles.Add(nextTile);
                spawnLocation.z += tileLength;
                if (nextTile.tyleType == GardenTile.TyleType.Heavy)
                {
                    heavyTileCountdown = 4;
                }
                else
                {
                    heavyTileCountdown--;
                }
            }
        }
        nextDivider = Instantiate(GameManager.gm.dividerPool.GetDivider(Random.Range(0, GameManager.gm.dividerPool.pooledDividers.Count)), spawnLocation, Quaternion.identity);
        nextDivider.transform.parent = null;
        nextDivider.gameObject.SetActive(true);
        GameManager.gm.dividerPool.placedDividers.Add(nextDivider);
        spawnLocation.z += dividerLength;
    }
        public async Task <ActionResult <GardenTileDTO> > PostGardenTile(NewGardenTileDTO newGardenTile)
        {
            var gardenTile = new GardenTile
            {
                X        = newGardenTile.X,
                Y        = newGardenTile.Y,
                Public   = false,
                Garden   = await _context.Gardens.FindAsync(newGardenTile.GardenId),
                TileType = await _context.TileTypes.FindAsync(newGardenTile.TileTypeId)
            };

            OwnIt(gardenTile);
            _context.GardenTiles.Add(gardenTile);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGardenTile", new { id = gardenTile.Id }, SetReadonly(_mapper.Map <GardenTileDTO>(gardenTile))));
        }
Beispiel #5
0
 public GardenTile GetGardenTile(int randomIndex)
 {
     selectedTile = pooledTiles[randomIndex];
     pooledTiles.RemoveAt(randomIndex);
     return(selectedTile);
 }