public static GearMesh AddGear(Vector3 position, float innerRadius, float rootRadius, float outerRadius, int sides, Material meshMat = null, bool attachRigidbody = true) { MeshHelper.SetupMaterial(ref meshMat); GameObject gear = new GameObject(); gear.transform.position = position; GearMesh gearComponent = gear.AddComponent <GearMesh>(); gearComponent.Build(innerRadius, rootRadius, outerRadius, sides, meshMat); if (attachRigidbody) { gear.AddComponent <Rigidbody2D>(); } return(gearComponent); }
public void BuildMesh(ref Material meshMat) { if (!Validate || ValidateMesh()) { MeshHelper.SetupMaterial(ref meshMat); _Mesh = new Mesh(); GetOrAddComponents(); C_MR.material = meshMat; BuildMeshComponents(); UpdateMeshFilter(); UpdateCollider(); } else { Debug.LogError("MeshBase::BuildMesh: " + name + " generation failed"); } }
//assign variables, get components and build mesh public void Build(float innerRadius, float rootRadius, float outerRadius, int sides, Material meshMat = null) { MeshHelper.SetupMaterial(ref meshMat); name = "Gear"; InnerRadius = innerRadius; RootRadius = rootRadius; OuterRadius = outerRadius; Sides = sides; _Mesh = new Mesh(); GetOrAddComponents(); C_MR.material = meshMat; if (!Validate || ValidateMesh()) { BuildMeshComponents(); UpdateMeshFilter(); UpdateCollider(); } }