Example #1
0
        public static GameObject CreatePrimitivePlus(PrimitivePlusType type)
        {
            string typeString = type.ToString();

            GameObject gameObject = new GameObject(typeString);

            MeshFilter mesh = gameObject.AddComponent <MeshFilter>();

            mesh.sharedMesh      = PrimitivePlusMeshes.GetMeshType(type);
            mesh.sharedMesh.name = typeString;

                        #if UNITY_5
            Material material = new Material(Shader.Find("Standard"));
                        #else
            Material material = new Material(Shader.Find("Diffuse"));
                        #endif
            gameObject.AddComponent <MeshRenderer>().sharedMaterial = material;
            if (typeString == "Cube")
            {
                gameObject.AddComponent <BoxCollider>();
            }
            else if (typeString == "Sphere" || typeString == "Heart")
            {
                gameObject.AddComponent <SphereCollider>();
            }
            else if (mesh.sharedMesh.triangles.Length / 3 < 255)
            {
                gameObject.AddComponent <MeshCollider>();
            }
            gameObject.AddComponent <PrimitivePlusMaterial>();

            return(gameObject);
        }
Example #2
0
        public static Mesh GetMeshType(PrimitivePlusType type)
        {
            switch (type)
            {
            case PrimitivePlusType.Circle2D:
                return((m_Circle2D == null) ? Circle2D() : m_Circle2D);

            case PrimitivePlusType.CircleHalf2D:
                return((m_CircleHalf2D == null) ? CircleHalf2D() : m_CircleHalf2D);

            case PrimitivePlusType.Cone:
                return((m_Cone == null) ? Cone() : m_Cone);

            case PrimitivePlusType.ConeHalf:
                return((m_ConeHalf == null) ? ConeHalf() : m_ConeHalf);

            case PrimitivePlusType.ConeHexagon:
                return((m_ConeHexagon == null) ? ConeHexagon() : m_ConeHexagon);

            case PrimitivePlusType.ConePentagon:
                return((m_ConePentagon == null) ? ConePentagon() : m_ConePentagon);

            case PrimitivePlusType.Cross:
                return((m_Cross == null) ? Cross() : m_Cross);

            case PrimitivePlusType.Cross2D:
                return((m_Cross2D == null) ? Cross2D() : m_Cross2D);

            case PrimitivePlusType.Cube:
                return((m_Cube == null) ? Cube() : m_Cube);

            case PrimitivePlusType.CubeCorner:
                return((m_CubeCorner == null) ? CubeCorner() : m_CubeCorner);

            case PrimitivePlusType.CubeCornerThin:
                return((m_CubeCornerThin == null) ? CubeCornerThin() : m_CubeCornerThin);

            case PrimitivePlusType.CubeEdgeIn:
                return((m_CubeEdgeIn == null) ? CubeEdgeIn() : m_CubeEdgeIn);

            case PrimitivePlusType.CubeEdgeOut:
                return((m_CubeEdgeOut == null) ? CubeEdgeOut() : m_CubeEdgeOut);

            case PrimitivePlusType.CubeHollow:
                return((m_CubeHollow == null) ? CubeHollow() : m_CubeHollow);

            case PrimitivePlusType.CubeHollowThin:
                return((m_CubeHollowThin == null) ? CubeHollowThin() : m_CubeHollowThin);

            case PrimitivePlusType.CubeTube:
                return((m_CubeTube == null) ? CubeTube() : m_CubeTube);

            case PrimitivePlusType.Cylinder:
                return((m_Cylinder == null) ? Cylinder() : m_Cylinder);

            case PrimitivePlusType.CylinderHalf:
                return((m_CylinderHalf == null) ? CylinderHalf() : m_CylinderHalf);

            case PrimitivePlusType.CylinderTube:
                return((m_CylinderTube == null) ? CylinderTube() : m_CylinderTube);

            case PrimitivePlusType.CylinderTubeThin:
                return((m_CylinderTubeThin == null) ? CylinderTubeThin() : m_CylinderTubeThin);

            case PrimitivePlusType.Diamond:
                return((m_Diamond == null) ? Diamond() : m_Diamond);

            case PrimitivePlusType.DiamondThick:
                return((m_DiamondThick == null) ? DiamondThick() : m_DiamondThick);

            case PrimitivePlusType.Heart:
                return((m_Heart == null) ? Heart() : m_Heart);

            case PrimitivePlusType.Heart2D:
                return((m_Heart2D == null) ? Heart2D() : m_Heart2D);

            case PrimitivePlusType.Hexagon2D:
                return((m_Hexagon2D == null) ? Hexagon2D() : m_Hexagon2D);

            case PrimitivePlusType.Icosphere:
                return((m_Icosphere == null) ? Icosphere() : m_Icosphere);

            case PrimitivePlusType.IcosphereSmall:
                return((m_IcosphereSmall == null) ? IcosphereSmall() : m_IcosphereSmall);

            case PrimitivePlusType.Plane:
                return((m_Plane == null) ? Plane() : m_Plane);

            case PrimitivePlusType.PrismHexagon:
                return((m_PrismHexagon == null) ? PrismHexagon() : m_PrismHexagon);

            case PrimitivePlusType.PrismOctagon:
                return((m_PrismOctagon == null) ? PrismOctagon() : m_PrismOctagon);

            case PrimitivePlusType.PrismPentagon:
                return((m_PrismPentagon == null) ? PrismPentagon() : m_PrismPentagon);

            case PrimitivePlusType.PrismTriangle:
                return((m_PrismTriangle == null) ? PrismTriangle() : m_PrismTriangle);

            case PrimitivePlusType.Pyramid:
                return((m_Pyramid == null) ? Pyramid() : m_Pyramid);

            case PrimitivePlusType.PyramidCorner:
                return((m_PyramidCorner == null) ? PyramidCorner() : m_PyramidCorner);

            case PrimitivePlusType.PyramidTri:
                return((m_PyramidTri == null) ? PyramidTri() : m_PyramidTri);

            case PrimitivePlusType.Rhombus2D:
                return((m_Rhombus2D == null) ? Rhombus2D() : m_Rhombus2D);

            case PrimitivePlusType.Sphere:
                return((m_Sphere == null) ? Sphere() : m_Sphere);

            case PrimitivePlusType.SphereHalf:
                return((m_SphereHalf == null) ? SphereHalf() : m_SphereHalf);

            case PrimitivePlusType.Star:
                return((m_Star == null) ? Star() : m_Star);

            case PrimitivePlusType.Star2D:
                return((m_Star2D == null) ? Star2D() : m_Star2D);

            case PrimitivePlusType.Torus:
                return((m_Torus == null) ? Torus() : m_Torus);

            case PrimitivePlusType.TorusHalf:
                return((m_TorusHalf == null) ? TorusHalf() : m_TorusHalf);

            case PrimitivePlusType.Triangle2D:
                return((m_Triangle2D == null) ? Triangle2D() : m_Triangle2D);

            case PrimitivePlusType.Wedge:
                return((m_Wedge == null) ? Wedge() : m_Wedge);

            default:
                return(null);
            }
        }