public BandOfMinion(Tile tile, int count = 0) { int quantity = count > 0 ? count : tile.quantity; switch((TileType) tile.type) { case TileType.MINION_RED: Initialize(MinionColor.RED, quantity); break; case TileType.MINION_BLUE: Initialize(MinionColor.BLUE, quantity); break; case TileType.MINION_GREEN: Initialize(MinionColor.GREEN, quantity); break; case TileType.MINION_YELLOW: Initialize(MinionColor.YELLOW, quantity); break; } if (_minions.Count > 0) { AnchorToTile(tile); } }
private void PopulateTile(Tile tile, int count = 0) { switch ((TileType) tile.type) { case TileType.MINION_RED: case TileType.MINION_BLUE: case TileType.MINION_GREEN: case TileType.MINION_YELLOW: Game.instance.tileToMinions.Add(tile.index, new BandOfMinion(tile, count)); break; } }
public void RefreshTile(Tile tile) { GameObject go = tile.type < _gameObjects.Length ? _gameObjects[tile.type] : _gameObjects[0]; GameObject tileGO = GameObject.Instantiate(go); tileGO.name = tile.gameObject.name; tileGO.transform.position = tile.gameObject.transform.position; tileGO.transform.SetParent(_root.transform); Game.instance.tileToMinions.Remove (tile.index); Destroy(tile.gameObject); tile.gameObject = tileGO; PopulateTile(tile, Random.Range(BonusConfiguration.MIN_POP_MINIONS, BonusConfiguration.MAX_POP_MINIONS + 1)); }
public void AnchorToTile(Tile tile) { for (int i = 0; i < _minions.Count; i++) { Minion minion = _minions[i]; minion.anchor = tile.gameObject.transform; minion.transform.position = tile.gameObject.transform.position; minion.setMinionOffset (i); minion.transform.position = minion.anchor.position + tile.size/2.5f * minion.offsetPosition; minion.targetPosition = minion.transform.position; minion.transform.SetParent(tile.gameObject.transform); } }