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); }