private void AddChild(QuadType type, int level, float size, Vector3 centrePoint) { string childName = type.ToString(); var empty = new GameObject(childName); empty.transform.parent = gameObject.transform; empty.transform.rotation = gameObject.transform.rotation; empty.transform.localPosition = centrePoint; // TODO: offset position of empty to centre of new Quad empty.layer = gameObject.layer; Quad child = empty.AddComponent <Quad>(); child.QuadType = type; child.Root = Root; child.Face = Face; child.Parent = this; child.Level = level; child.Size = size; child.Subdivisions = Subdivisions; child.SubdivisionDistances = SubdivisionDistances; child.TriangleCache = TriangleCache; child.Material = Material; child.StartingNoiseFrequency = StartingNoiseFrequency; child.StartingNoiseAmplitude = StartingNoiseAmplitude; child.SmoothNegativeElevations = SmoothNegativeElevations; child.Active = true; child.Initialise(); _children[(int)type] = child; }
public override string ToString() { string str = string.Empty; if (Parent == null) { str = Face.FaceType.ToString() + "."; } else { str += Parent.ToString() + "."; } return(str + QuadType.ToString()); }