void MakeGameObject() { int num = CompactIndex + 1; var renderMesh = Renderers.First().ToMesh($"RenderMesh{num:00}"); var colliderMeshes = Colliders.Select((c, i) => c.ToMesh($"ColliderMesh{num:00}_{i + 1:00}")); var material = Resources.Load($"Material{num:00}") as Material; var go = new GameObject($"Tile{num}", typeof(MeshFilter), typeof(MeshRenderer), typeof(Rigidbody), typeof(TileInstance)); go.SetActive(false); go.layer = 9; var filter = go.GetComponent <MeshFilter>(); filter.mesh = renderMesh; var renderer = go.GetComponent <MeshRenderer>(); renderer.material = material; var rb = go.GetComponent <Rigidbody>(); rb.isKinematic = MakeKinematic; rb.centerOfMass = Centroid; rb.mass = Mass; // rb.drag = 1f; // rb.angularDrag = 1f; foreach (var mesh in colliderMeshes) { var collider = go.AddComponent <MeshCollider>(); collider.convex = true; collider.sharedMesh = mesh; } //var collider = go.AddComponent<BoxCollider>(); _gameObject = go; }
public void Adds_before_the_first_item_in_the_chain() { Config.Before <FirstRenderer>().Add <NewRenderer>(); Renderers.First().ShouldBeType <NewRenderer>(); }
public void Adds_to_the_begining_of_the_chain() { Config.Prepend <NewRenderer>(); Renderers.First().ShouldBeType <NewRenderer>(); }