private void AddSoftBlock(Vector2 blockSlot, bool tryToStoreItem) { int randomIndex = this.RandiRange(rng, 0, softBlockPrefabList.Count - 1); Spatial sb = softBlockPrefabList[randomIndex].Instance() as Spatial; this.AddChildToBlockContainer(this, sb); emptyBlockSlotList.Remove(blockSlot); sb.Name = this.CreateUniqueNodeName(sb); sb.Translation = ConvertBlockSlotPositionToTranslation(blockSlot); sb.Connect(this.GetGDSignalTreeExited(), this, nameof(OnSoftBlockDestroyed), this.CreateSingleBind(sb)); if (tryToStoreItem) { AddItemToSoftBlock(sb); } }