private void EntityPositionTextBox_TextChanged(object sender, EventArgs e) { if (populatingui) { return; } if (CurrentEntity == null) { return; } Vector3 v = FloatUtil.ParseVector3String(EntityPositionTextBox.Text); lock (ProjectForm.ProjectSyncRoot) { if (CurrentEntity.MloParent != null) { v = CurrentEntity.MloParent.Position + CurrentEntity.MloParent.Orientation.Multiply(v); CurrentEntity.SetPosition(v); ProjectItemChanged(); } else { if (CurrentEntity.Position != v) { CurrentEntity.SetPosition(v); ProjectItemChanged(); var wf = ProjectForm.WorldForm; if (wf != null) { wf.BeginInvoke(new Action(() => { wf.SetWidgetPosition(CurrentEntity.WidgetPosition, true); })); } } } } }