public static Mesh GetPrimitiveMesh(PrimitiveType type)
        {
            if (!StratusPrimitiveUtility.primitiveMeshes.ContainsKey(type))
            {
                StratusPrimitiveUtility.CreatePrimitiveMesh(type);
            }

            return(StratusPrimitiveUtility.primitiveMeshes[type]);
        }
        /// <summary>
        /// Instantiates a primitive of the given type.
        /// </summary>
        /// <param name="type"></param>
        /// <param name="withCollider"></param>
        /// <returns></returns>
        public static GameObject CreatePrimitive(PrimitiveType type, bool withCollider)
        {
            if (withCollider)
            {
                return(GameObject.CreatePrimitive(type));
            }

            GameObject gameObject = new GameObject(type.ToString());
            MeshFilter meshFilter = gameObject.AddComponent <MeshFilter>();

            meshFilter.sharedMesh = StratusPrimitiveUtility.GetPrimitiveMesh(type);
            gameObject.AddComponent <MeshRenderer>();

            return(gameObject);
        }