void AddClimb(GameObject gao, AdditionalTypeFlags type, Material mat, Color color, float height, float baseHeight, List <MeshFilter> addMeshes)
        {
            int numBars = Mathf.RoundToInt(height - baseHeight);

            for (int i = 0; i < numBars; i++)
            {
                GameObject sgao = new GameObject($"Fence {i}");
                sgao.layer = LayerMask.NameToLayer("3D Collision");
                sgao.transform.SetParent(gao.transform);
                sgao.transform.localScale = Vector3.one;
                MeshFilter smf = sgao.AddComponent <MeshFilter>();
                switch (type)
                {
                case AdditionalTypeFlags.ClimbUpRight:
                    sgao.transform.localPosition = new Vector3(0, baseHeight + i + 0.5f, -0.55f);
                    smf.mesh = GeometryHelpers.CreateBox(1f, 0.2f, 0.1f);
                    break;

                case AdditionalTypeFlags.ClimbUpLeft:
                    sgao.transform.localPosition = new Vector3(0.55f, baseHeight + i + 0.5f, 0);
                    smf.mesh = GeometryHelpers.CreateBox(0.1f, 0.2f, 1f);
                    break;
                }
                addMeshes.Add(smf);

                /*MeshRenderer smr = sgao.AddComponent<MeshRenderer>();
                 * smr.sharedMaterial = mat;*/
            }
        }