/// <summary> /// Pushes a block in the building. /// </summary> /// <param name="block"></param> /// <returns>The total block count</returns> public int PushBlock(ABlock block) { block.transform.SetParent(transform); for (int i = 0; i < block.transform.childCount; ++i) { block.transform.GetChild(i).transform.localScale = Vector3.one * _blockScale; } block.SetBlockPosition(new Vector3( /*_startPosition.x +*/ _buildingOffsetHorizontal + (block.GetWidth() * (_blocks.Count % _width)), /*_startPosition.y +*/ (block.GetHeight() * (_blocks.Count / _width)), _startPosition.z)); //block.transform.localPosition = new Vector3( // _startPosition.x + (block.GetWidth() * (_blocks.Count % _width)), // _startPosition.y + (block.GetHeight() * (_blocks.Count / _width)), // _startPosition.z); _blocks.Add(block); if (_blocks.Count % _width == 0) { GetComponent <AudioSource>().Play(); _height += block.GetHeight(); } return(_blocks.Count); }
public override float GetHeight() { return(_leftBlock?.GetHeight() ?? 0 + _rightBlock?.GetHeight() ?? 0); }