//Alternate mirroring function where the getter is a reference to an actual corner instead of a corner location identifier void MirrorCorner(ColliderCorner getter, ColliderCorner.CornerId setter, int xFactor, int yFactor, int zFactor) { ColliderCorner setCorner = GetCornerAtLocation(setter); setCorner.localPos.Set(xFactor * getter.localPos.x, yFactor * getter.localPos.y, zFactor * getter.localPos.z); setCorner.axleRadii = getter.axleRadii; setCorner.radiusOffsets = getter.radiusOffsets; }
//Gets the corner with the given location identifier public ColliderCorner GetCornerAtLocation(ColliderCorner.CornerId cId) { for (int i = 0; i < corners.Length; i++) { if (corners[i].cornerLocation == cId) { return(corners[i]); } } Debug.LogWarning("No corner exists with the corner ID."); return(null); }
//Sets the components of the radius offset of a corner to a Vector3 public void SetCornerRadiusOffset(ColliderCorner.CornerId corner, Vector3 offset) { cornerOffsetMode = CornerRadiusEditMode.Advanced; GetCornerAtLocation(corner).radiusOffsets = offset; }
//Sets the radius offset of a corner to the value public void SetCornerRadiusOffset(ColliderCorner.CornerId corner, float offset) { cornerOffsetMode = CornerRadiusEditMode.UniformIndividual; GetCornerAtLocation(corner).radiusOffsets = Vector3.one * offset; }
//Sets the components of the radius of a corner to a Vector3 public void SetCornerRadius(ColliderCorner.CornerId corner, Vector3 radius) { GetCornerAtLocation(corner).axleRadii = radius; cornerRadiusMode = CornerRadiusEditMode.Advanced; }
//Sets the radius of a corner with the given location identifier public void SetCornerRadius(ColliderCorner.CornerId corner, float radius) { GetCornerAtLocation(corner).axleRadii = Vector3.one * radius; cornerRadiusMode = CornerRadiusEditMode.UniformIndividual; }
//Sets the position of a corner with the given location identifier in local space public void SetCornerPosition(ColliderCorner.CornerId corner, Vector3 pos) { GetCornerAtLocation(corner).localPos = pos; cornerPositionMode = CornerPositionEditMode.Individual; }