Example #1
0
    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;
    }
Example #2
0
        public void Adds_before_the_first_item_in_the_chain()
        {
            Config.Before <FirstRenderer>().Add <NewRenderer>();

            Renderers.First().ShouldBeType <NewRenderer>();
        }
Example #3
0
        public void Adds_to_the_begining_of_the_chain()
        {
            Config.Prepend <NewRenderer>();

            Renderers.First().ShouldBeType <NewRenderer>();
        }