void CreateGround() { float x = 0f; groundCollider = CachedGameObject.AddComponent <BoxCollider2D> (); topCollider = tup.gameObject.AddComponent <BoxCollider2D> (); leftCollider = tleft.gameObject.AddComponent <BoxCollider2D> (); rightCollider = tright.gameObject.AddComponent <BoxCollider2D> (); Vector2 size = new Vector2(worldWidth, 5f); Vector2 offset = new Vector2(0f, -(worldHeight * 0.5f + 2.5f)); groundCollider.offset = offset; groundCollider.size = size; offset = new Vector2(0f, (2.5f)); topCollider.offset = offset; topCollider.size = size; size = new Vector2(5f, worldHeight); offset = new Vector2(-(2.5f), 0f); leftCollider.offset = offset; leftCollider.size = size; size = new Vector2(5f, worldHeight); offset = new Vector2((2.5f), 0f); rightCollider.offset = offset; rightCollider.size = size; while (x <= worldWidth) { TrashGround ground = GetNewGround(); //ground.CachedTransform.parent = CachedTransform; float x_pos = GetXPositionFor(ground, x); x = GetNextXPositionFor(ground, x_pos); x_pos += tleft.position.x; float y = tdown.position.y - ground.GetHeight() * 0.5f; Vector2 pos = new Vector2(x_pos, y); ground.CachedTransform.position = pos; cache_Ground_Size = ground.GetHeight() * 0.99f; } }
TrashGround GetNewGround() { TrashGround t = groundEntries[UnityEngine.Random.Range(0, groundEntries.Length)]; return(GameObject.Instantiate(t) as TrashGround); }