void GenerateBlocks() { if (blocks.Count == 0) { return; } var control_block = blocks[blocks.Count - 1]; if (!Camera.main.IsObjectVisible(control_block.renderer)) { return; } GameFieldBlock upper_block; GameFieldBlock bottom_block; //Trying create new bottom block bottom_block = GameFieldBlock.CreateRandom(this, EnumBlockDirection.bottom); //If it's normal block - create random upper block if (bottom_block.type == EnumBlockType.normal) { upper_block = GameFieldBlock.CreateRandom(this, EnumBlockDirection.up); } //Or create normal upper block else { upper_block = GameFieldBlock.Create(this, EnumBlockType.normal, EnumBlockDirection.up); } blocks.Add(upper_block); blocks.Add(bottom_block); }
void InitBlocks() { for (int i = 0; i < MAX_BLOCKS; ++i) { var upper_block = GameFieldBlock.Create(this, EnumBlockType.normal, EnumBlockDirection.up); var bottom_block = GameFieldBlock.Create(this, EnumBlockType.normal, EnumBlockDirection.bottom); blocks.Add(upper_block); blocks.Add(bottom_block); } }