SuperSquid.Entities.Behaviors.BlockBuilderBehavior.Reset C# (CSharp) Method

Reset() public method

Reset all blocks and add new initial blocks
public Reset ( ) : void
return void
        public void Reset()
        {
            // Remove all visible blocks
            foreach (var visibleBlock in this.visibleBlocks)
            {
                visibleBlock.Reset();
                visibleBlock.Owner.Enabled = false;
                this.avaibleBlocks.Add(visibleBlock);
            }

            this.visibleBlocks.Clear();

            float screenHeight;

            screenHeight = this.vm.BottomEdge - this.vm.TopEdge;

            // Add initial blocks
            for (int i = 0; i < MAX_VISIBLE_BLOCKS; i++)
            {
                var selectedBlock = this.avaibleBlocks[WaveServices.Random.Next(this.avaibleBlocks.Count)];

                this.avaibleBlocks.Remove(selectedBlock);

                selectedBlock.Transform2D.Y = -screenHeight * (i + 1);

                this.visibleBlocks.Add(selectedBlock);
                selectedBlock.Owner.Enabled = true;
            }
        }